]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/DoDownload.pm
Use Number::Format to format numbers without the help of locales
[deb/packages.git] / lib / Packages / DoDownload.pm
index 7c59272085c3db58e923c24562ae5be720c3b128..a871afd031bddcf4668ff86a2be15306b33b3b93 100644 (file)
@@ -10,7 +10,6 @@ use Benchmark ':hireswallclock';
 use Exporter;
 
 use Deb::Versions;
-use Packages::I18N::Locale;
 use Packages::Search qw( :all );
 use Packages::Config qw( $DBDIR @SUITES @ARCHIVES @SECTIONS @ARCHITECTURES );
 use Packages::CGI;
@@ -22,21 +21,24 @@ our @EXPORT = qw( do_download );
 
 sub do_download {
     my ($params, $opts, $page_content) = @_;
+    my $cat = $opts->{cat};
 
     if ($params->{errors}{package}) {
-       fatal_error( _g( "package not valid or not specified" ) );
+       fatal_error( $cat->g( "package not valid or not specified" ) );
     }
     if ($params->{errors}{suite}) {
-       fatal_error( _g( "suite not valid or not specified" ) );
+       fatal_error( $cat->g( "suite not valid or not specified" ) );
     }
     if ($params->{errors}{arch}) {
-       fatal_error( _g( "architecture not valid or not specified" ) );
+       fatal_error( $cat->g( "architecture not valid or not specified" ) );
     }
     if (@{$opts->{suite}} > 1) {
-       fatal_error( sprintf( _g( "more than one suite specified for download (%s)" ), "@{$opts->{suite}}" ) );
+       fatal_error( $cat->g( "more than one suite specified for download (%s)",
+                             "@{$opts->{suite}}" ) );
     }
     if (@{$opts->{arch}} > 1) {
-       fatal_error( sprintf( _g( "more than one architecture specified for download (%s)" ), "@{$opts->{arch}}" ) );
+       fatal_error( $cat->g( "more than one architecture specified for download (%s)",
+                             "@{$opts->{arch}}" ) );
     }
 
     $opts->{h_sections} = { map { $_ => 1 } @SECTIONS };
@@ -85,11 +87,13 @@ sub do_download {
            $page_content->{archive} = $archive;
            $page_content->{suite} = $suite;
            $page_content->{pkg} = $pkg;
-           $page_content->{pkgsize} = sprintf( '%.1f', floor(($data{size}/102.4)+0.5)/10 );
-           $page_content->{pkgsize_unit} = _g( 'kByte' );
-           if ($page_content->{pkgsize} > 1024) {
-               $page_content->{pkgsize} = sprintf( '%.1f', floor(($data{size}/(102.4*102.4))+0.5)/100 );
-               $page_content->{pkgsize_unit} = _g( 'MByte' );
+           my $pkgsize = floor(($data{size}/102.4)+0.5)/10;
+           if ($pkgsize < 1024) {
+               $page_content->{pkgsize} = $pkgsize;
+               $page_content->{pkgsize_unit} = $cat->g( 'kByte' );
+           } else {
+               $page_content->{pkgsize} = floor(($data{size}/(102.4*102.4))+0.5)/100;
+               $page_content->{pkgsize_unit} = $cat->g( 'MByte' );
            }
            $page_content->{architecture} = $arch;
            foreach (keys %data) {