Provided by: dl10n_3.00_all
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.