Provided by: dl10n_3.00+nmu1_all bug

NAME

       Debian::L10n::Db - handle database of debian l10n stuff

SYNOPSIS

        use Debian::L10n::Db;
        my $l10n_db = Debian::L10n::Db->new();
        $l10n_db->read("../data/unstable");
        foreach ($l10n_db->list_packages()) {
                print "Package $_ ".$l10n_db->version($_)."\n";
        }

DESCRIPTION

       This module is an interface to the database files used in several places of the debian
       localisation infrastructure, such as the webpages under
       "webwml/<language>/internaltional/l10n/".

METHODS

       new This is the constructor, it only performs some initialization.

              my $l10n_db = Debian::L10n::Db->new();

       read
           Read database from a given file.  Returns 1 on success and otherwise 0.

              $l10n_db->read("foo");

       write
           Write database into file.

              $l10n_db->write("foo");

       list_packages
           Returns an array with the list of package names

       clear_pkg
           Reset info for a given package

              $l10n_db->clear_pkg("foo");

       set_status
           Change the status for the category specified as second argument.

       del_status
           If a reference to a statusline is provided, it removes the first found It should
           remove the right line (pkg, type, and file) from the DB, and empty the package if
           nothing else is left.

       get_header
           Returns the value of the specified header

       set_header
           Sets the specified header to the specified value

       get_date
           Returns date of generation

       set_date
           Sets the date of generation

       clean-db
           clean_db cleans the database by removing data for a document whose status is 'done'
           for more than three days.

   DATA MANIPULATION
       Data about packages can be classified within scalar values ("package", "version",
       "section", "priority", "maintainer", "pooldir", "type", "upstream"), arrays ("errors",
       "catgets", "gettext"), and arrays of arrays ("nls", "po", "po4a", "templates",
       "podebconf", "man", "menu" and "desktop").  Each field has a method with the same name to
       get and set it, e.g.

          $section = $l10n_db->section($pkg);
          $l10n_db->section($pkg, "libs");

       The first line get the section associated with the package in $pkg, whereas the second set
       it to "libs".

       Two other methods are also defined to access those data, by prefixing field name by "has_"
       and "add_".  The former is used to ask whether this field is defined in database, and the
       latter appends values for arrays or arrays of arrays.

          if ($l10n_db->has_templates($pkg)) {
                  print "Package $pkg has Debconf templates\n";
          }
          $l10n_db->add_po($pkg, 'po/fr.po', 'fr', '42t0f0u', 'po/adduser_3.42_po_fr.po');

AUTHOR

       Copyright (C) 2001-2004  Denis Barbier <barbier@debian.org> Copyright (C) 2004
       Martin Quinson <enough@spam>

       This program is free software; you can redistribute it and/or modify it under the terms of
       the GNU General Public License as published by the Free Software Foundation; either
       version 2 of the License, or (at your option) any later version.