X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FHTML.pm;h=fb16d2fdc66837214586de6ceda1648e747bfc3f;hb=35b8995bea7a744e1b6e764de7b653469018ba3b;hp=9f019fb79449758b1fc73701ae07a7b9c665b809;hpb=47c93cb066364b11f0b216589ddc68671435b060;p=deb%2Fpackages.git diff --git a/lib/Packages/HTML.pm b/lib/Packages/HTML.pm index 9f019fb..fb16d2f 100644 --- a/lib/Packages/HTML.pm +++ b/lib/Packages/HTML.pm @@ -3,27 +3,25 @@ package Packages::HTML; use strict; use warnings; +use Exporter; use URI::Escape; use HTML::Entities; +use Locale::gettext; -use Packages::CGI; +use Packages::CGI qw(make_url make_search_url); use Packages::Search qw( read_entry_simple ); use Packages::Config qw( :all ); #use Packages::Util; -#use Packages::I18N::Locale; -#use Packages::I18N::Languages; -#use Packages::I18N::LanguageNames; +use Packages::I18N::Locale; +use Packages::I18N::Languages; +use Packages::I18N::LanguageNames; #use Generated::Strings qw( gettext dgettext ); -# dummy routines -sub get_charset { return "utf-8" }; -sub gettext { return $_[0]; }; - our @ISA = qw( Exporter ); our @EXPORT = qw( header title trailer file_changed time_stamp read_md5_hash write_md5_hash simple_menu - ds_begin ds_item ds_end note title marker pdesc + ds_begin ds_item ds_end title marker pdesc pdeplegend pkg_list pmoreinfo print_deps print_src_deps ); our $CHANGELOG_URL = '/changelogs'; @@ -84,15 +82,17 @@ sub pkg_list { my $suite = $opts->{suite}[0]; my $str = ""; - foreach my $p ( @$pkgs ) { + foreach my $p ( sort @$pkgs ) { + # we don't deal with virtual packages here because for the + # current uses of this function this isn't needed my $short_desc = (read_entry_simple( $packages, $p, $opts->{h_archives}, $suite))->[-1]; if ( $short_desc ) { - $str .= "
\n".sprintf( gettext( "Check for Bug Reports about %s." )."
\n",
+ $str .= "
\n".sprintf( _g( "Check for Bug Reports about %s." )."
\n",
$bug_url.$name, $name );
}
@@ -127,19 +127,16 @@ sub pmoreinfo {
my $src_dir = $page->get_src('directory');
if ($info{sourcedownload}) {
my $files = $page->get_src( 'files' );
- my $path = (@{$opts->{archive}} >1) ?
- $suite :
- "$suite/$opts->{archive}[0]";
- $str .= gettext( "Source Package:" );
- $str .= " $source, ".
- gettext( "Download" ).":\n";
+ $str .= _g( "Source Package:" );
+ $str .= " 'source'})."\">$source, ".
+ _g( "Download" ).":\n";
unless (defined($files) and @$files) {
- $str .= gettext( "Not found" );
+ $str .= _g( "Not found" );
} else {
foreach( @$files ) {
my ($src_file_md5, $src_file_size, $src_file_name) = split /\s/o, $_;
- for ($page->get_newest('archive')) {
+ for ("$suite/".$page->get_newest('archive')) {
/security/o && do {
$str .= "{security}/$src_dir/$src_file_name\">["; last };
/volatile/o && do {
@@ -147,7 +144,7 @@ sub pmoreinfo {
/backports/o && do {
$str .= "{backports}/$src_dir/$src_file_name\">["; last };
/non-us/io && do {
- $str .= "{nonus_site}/$src_dir/$src_file_name\">["; last };
+ $str .= "{'non-US'}/$src_dir/$src_file_name\">["; last };
$str .= "{us}/$src_dir/$src_file_name\">[";
}
if ($src_file_name =~ /dsc$/) {
@@ -158,7 +155,7 @@ sub pmoreinfo {
$str .= "]\n";
}
}
-# $package_page .= sprintf( gettext( " (These sources are for version %s)\n" ), $src_version )
+# $package_page .= sprintf( _g( " (These sources are for version %s)\n" ), $src_version )
# if ($src_version ne $version) && !$src_version_given_in_control;
}
@@ -168,12 +165,12 @@ sub pmoreinfo {
$src_basename = "${source}_$src_basename";
$src_dir =~ s,pool/updates,pool,o;
$src_dir =~ s,pool/non-US,pool,o;
- $str .= "
".sprintf( gettext( "View the Debian changelog" ),
+ $str .= "
".sprintf( _g( 'View the Debian changelog' ),
"$CHANGELOG_URL/$src_dir/$src_basename/changelog" )."
\n";
my $copyright_url = "$CHANGELOG_URL/$src_dir/$src_basename/";
$copyright_url .= ( $is_source ? 'copyright' : "$name.copyright" );
- $str .= sprintf( gettext( "View the copyright file" ),
+ $str .= sprintf( _g( 'View the copyright file' ),
$copyright_url )."
\n".sprintf( gettext( "%s is responsible for this Debian package." ). + $str .= "
\n".sprintf( _g( "%s is responsible for this Debian package." ). "\n", "$maint_name" ); @@ -198,18 +195,18 @@ sub pmoreinfo { } my $last_up = pop @uploaders_str; $up_str .= ", ".join ", ", @uploaders_str if @uploaders_str; - $up_str .= sprintf( gettext( " and %s are responsible for this Debian package." ), $last_up ); + $up_str .= sprintf( _g( " and %s are responsible for this Debian package." ), $last_up ); $str .= "
\n$up_str "; } } - $str .= sprintf( gettext( "See the developer information for %s." )."
", $QA_URL.$source, $name ) if $source; + $str .= sprintf( _g( "See the developer information for %s." )."", $QA_URL.$source, $name ) if $source; } if ($info{search}) { my $encodedname = uri_escape( $name ); my $search_url = $is_source ? "$ROOT/source" : $ROOT; - $str .= "".sprintf( gettext( "Search for other versions of %s" ), + $str .= "
".sprintf( _g( "Search for other versions of %s" ), "$search_url/$encodedname", $name )."
\n"; } @@ -218,13 +215,11 @@ sub pmoreinfo { } sub dep_item { - my ( $link, $name, $info, $desc ) = @_; - my $post_link = ''; - if ($link) { - $link = ""; + my ( $suite, $name, $info, $desc ) = @_; + my ($link, $post_link) = ('', ''); + if ($suite) { + $link = "$suite})."\">"; $post_link = ''; - } else { - $link = ''; } if ($info) { $info = " $info"; @@ -240,6 +235,20 @@ sub dep_item { return "$link$name$post_link$info$desc"; } # end dep_item +sub provides_string { + my ($suite, $entry, $also) = @_; + my %tmp = map { $_ => 1 } split /\s/, $entry; + my @provided_by = keys %tmp; # weed out duplicates + my $short_desc = $also ? _g("also a virtual package provided by ") + : _g("virtual package provided by "); + if (@provided_by < 10) { + $short_desc .= join( ', ',map { "$suite})."\">$_" } @provided_by); + } else { + $short_desc .= sprintf( _g("%s packages"), scalar(@provided_by)); + } + return $short_desc; +} + sub print_deps { my ( $packages, $opts, $pkg, $relations, $type) = @_; my %dep_type = ('depends' => 'dep', 'recommends' => 'rec', @@ -248,10 +257,9 @@ sub print_deps { my $res = "