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.