Debian::L10n::Db(3) 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 <[email protected]> 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.