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 .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 , 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 about packages can be classified within scalar values (,
, , , , , ,
), arrays (, , ), and arrays of
arrays (, , , , , ,
and ).
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 , whereas the second set it to .
Two other methods are also defined to access those data, by prefixing field name by and . 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 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
