X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FHTML.pm;h=6a6baf6c9e4055241d577ae97b97801cf5cce21b;hb=a38d98d27880c8fc0f4d98646e318ecc1d39884f;hp=873a7ea0ab3f00240cd97d0a81d5428c5a512c6c;hpb=f49363dc272472174dd57c663c2688c33af927cd;p=deb%2Fpackages.git diff --git a/lib/Packages/HTML.pm b/lib/Packages/HTML.pm index 873a7ea..6a6baf6 100644 --- a/lib/Packages/HTML.pm +++ b/lib/Packages/HTML.pm @@ -3,29 +3,27 @@ package Packages::HTML; use strict; use warnings; +use Exporter; use URI::Escape; use HTML::Entities; +use Locale::gettext; + +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 - pdeplegend pkg_list pmoreinfo ); + ds_begin ds_item ds_end title marker pdesc + pdeplegend pkg_list pmoreinfo print_deps print_src_deps ); -our ( $HOME, $ROOT, $CONTACT_MAIL, $WEBMASTER_MAIL, - $SEARCH_PAGE, $SEARCH_CGI, $SEARCH_URL, - $SRC_SEARCH_URL, $CONTENTS_SEARCH_CGI, - $CN_HELP_URL, $BUG_URL, $SRC_BUG_URL, $QA_URL ); our $CHANGELOG_URL = '/changelogs'; sub img { @@ -52,20 +50,7 @@ sub title { } sub marker { - return "[$_[0]]"; -} - -sub note { - my ( $title, $note ) = @_; - my $str = ""; - - if ($note) { - $str .= "
$note
"; - return $str; + return "[$_[0]]"; } sub pdesc { @@ -82,10 +67,10 @@ sub pdesc { } sub pdeplegend { - my $str = "[0].gif\" alt=\"[$entry->[0]]\" width=\"16\" height=\"16\">= $entry->[1] | "; + $str .= "[0].gif\" alt=\"[$entry->[0]]\" width=\"16\" height=\"16\">= $entry->[1] | "; } $str .= "\n
\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 );
}
+ my $source = $page->get_src( 'package' );
+ my $source_version = $page->get_src( 'version' );
+ my $src_dir = $page->get_src('directory');
if ($info{sourcedownload}) {
- $str .= gettext( "Source Package:" );
- $str .= " {src_name}\">$d->{src_name}, ".
- gettext( "Download" ).":\n";
+ my $files = $page->get_src( 'files' );
+ $str .= _g( "Source Package:" );
+ $str .= " 'source'})."\">$source, ".
+ _g( "Download" ).":\n";
- unless ($d->{src_files}) {
- $str .= gettext( "Not found" );
+ unless (defined($files) and @$files) {
+ $str .= _g( "Not found" );
} else {
- foreach( @{$d->{src_files}} ) {
- my ($src_file_md5, $src_file_size, $src_file_name) = @$_;
- if ($d->{is_security}) {
- $str .= "{opts}{security_site}/$d->{src_directory}/$src_file_name\">[";
- } elsif ($d->{is_volatile}) {
- $str .= "{opts}{volatile_site}/$d->{src_directory}/$src_file_name\">[";
- } elsif ($d->{is_nonus}) {
- $str .= "{opts}{nonus_site}/$d->{src_directory}/$src_file_name\">[";
- } else {
- $str .= "{opts}{debian_site}/$d->{src_directory}/$src_file_name\">[";
- }
+ foreach( @$files ) {
+ my ($src_file_md5, $src_file_size, $src_file_name) = split /\s/o, $_;
+ # non-US hack
+ (my $server = lc $page->get_newest('archive')) =~ s/-//go;
+ $str .= sprintf("[",
+ $env->{$server}||$env->{us});
if ($src_file_name =~ /dsc$/) {
$str .= "dsc";
} else {
@@ -171,63 +148,191 @@ 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;
}
if ($info{changesandcopy}) {
- if ( $d->{src_directory} ) {
- my $src_dir = $d->{src_directory};
- (my $src_basename = $d->{src_version}) =~ s,^\d+:,,; # strip epoche
- $src_basename = "$d->{src_name}_$src_basename";
+ if ( $src_dir ) {
+ (my $src_basename = $source_version) =~ s,^\d+:,,; # strip epoche
+ $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." ). - "\n", - "$maint_name" - ); - } else { - my $up_str = "$maint_name"; - my @uploaders_str; - foreach (@uploaders) { - push @uploaders_str, "[1]\">$_->[0]"; + my $uploaders = $page->get_src( 'uploaders' ); + if ($uploaders && @$uploaders) { + foreach (@$uploaders) { + $_->[0] = encode_entities( $_->[0], '&<>' ); + } + my ($maint_name, $maint_mail) = @{shift @$uploaders}; + unless (@$uploaders) { + $str .= "
\n".sprintf( _g( "%s is responsible for this Debian package." ). + "\n", + "$maint_name" + ); + } else { + my $up_str = "$maint_name"; + my @uploaders_str; + foreach (@$uploaders) { + push @uploaders_str, "[1]\">$_->[0]"; + } + my $last_up = pop @uploaders_str; + $up_str .= ", ".join ", ", @uploaders_str if @uploaders_str; + $up_str .= sprintf( _g( " and %s are responsible for this Debian package." ), $last_up ); + $str .= "
\n$up_str "; } - 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 ); - $str .= "
\n$up_str "; } - $str .= sprintf( gettext( "See the developer information for %s." )."
", $QA_URL.$d->{src_name}, $name ); + $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 ? $SRC_SEARCH_URL : $SEARCH_URL; - $str .= "".sprintf( gettext( "Search for other versions of %s" ), $search_url.$encodedname, $name )."
\n"; + my $search_url = $is_source ? "$ROOT/source" : $ROOT; + $str .= "".sprintf( _g( "Search for other versions of %s" ), + "$search_url/$encodedname", $name )."
\n"; } $str .= "