Debian::L10n::Db(3pm)
π Debian::L10n::Db π
okay bestie, so this is Debian::L10n::Db(3pm) β a Perl module from the User Contributed Perl Documentation section of the manual. She's a whole interface to the l10n database files, and honestly? She ate. π
β¨ 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 π¦
So this module is literally the interface to the database files that get used in several places across the debian localisation infrastructure β like, for example, the webpages hanging out under "webwml/<language>/internaltional/l10n/". That's the vibe. π«Ά
π METHODS π
newβ this is the constructor, and she is lowkey chill: all she does is a lil bit of initialization. That's it. That's the whole job.
my $l10n_db = Debian::L10n::Db->new();
readβ read the database from a given file. Returns1on success and otherwise0. No cap.
$l10n_db->read("foo");
writeβ write the database into a file. Bestie is committing. πΎ
$l10n_db->write("foo");
list_packagesβ returns an array with the list of package names.clear_pkgβ reset the info for a given package. Fresh start energy. β¨
$l10n_db->clear_pkg("foo");
set_statusβ change the status for the category specified as the second argument.del_statusβ if a reference to a statusline is provided, it removes the first one found. It should remove the right line (pkg,type, andfile) 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 the date of generation.set_dateβ sets the date of generation.clean-dbβclean_dbcleans the database by removing data for a document whose status is'done'for more than three days. Spring cleaning, but make it data. π§Ή
π 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 gets the section associated with the package in $pkg, whereas the second sets it to "libs". See how easy that is? π
Two other methods are also defined to access those data, by prefixing the field name by "has_" and "add_". The former is used to ask whether this field is defined in the 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.
π heads up bestie: that's the GNU General Public License, version 2 or (at your option) any later version. Read the license, respect the license, periodt.
okay that's the whole page, and no I will not be normal about it π this was Debian::L10n::Db(3pm) from perl v5.32.0, dated 2021-01-05, brought to you by User Contributed Perl Documentation. mwah πβ¨π¦
π¦ where this page comes from
- debian bookworm: dl10n 3.00+nmu1
- ubuntu jammy: dl10n 3.00+nmu1
- ubuntu noble: dl10n 3.00+nmu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms