X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=lib%2FPackages%2FDispatcher.pm;h=f65ec1ab4c6fe4fec8e2de38130a1e812b23f1b7;hb=26071d70629960f3b82536c654e3374738404dbe;hp=e9b406f0257064f3da54b0c9b23447750ceaaf00;hpb=92a6b3d4b5bcd96dfe05ee814722e5e0e47e1d3f;p=deb%2Fpackages.git diff --git a/lib/Packages/Dispatcher.pm b/lib/Packages/Dispatcher.pm index e9b406f..f65ec1a 100755 --- a/lib/Packages/Dispatcher.pm +++ b/lib/Packages/Dispatcher.pm @@ -34,7 +34,7 @@ use I18N::AcceptLanguage; use Deb::Versions; use Packages::Config qw( $DBDIR $ROOT $TEMPLATEDIR $CACHEDIR @SUITES @SECTIONS @ARCHIVES @ARCHITECTURES @PRIORITIES - @LANGUAGES @DDTP_LANGUAGES $LOCALES ); + @LANGUAGES @DDTP_LANGUAGES ); use Packages::CGI qw( :DEFAULT error get_all_messages ); use Packages::DB; use Packages::Search qw( :all ); @@ -91,6 +91,7 @@ sub do_dispatch { my $homedir = dirname($ENV{SCRIPT_FILENAME}).'/../'; &Packages::Config::init( $homedir ); &Packages::DB::init(); + &Packages::I18N::Locale::load( "$homedir/po" ); my $acc = I18N::AcceptLanguage->new(); my %all_langs = map { $_ => 1 } (@LANGUAGES, @DDTP_LANGUAGES); @@ -197,8 +198,6 @@ sub do_dispatch { set_param_once( $input, \%params_set, 'suite', $s); } elsif (!$need_pkg && $SECTIONS{$_}) { set_param_once( $input, \%params_set, 'section', $_); - } elsif (!$need_pkg && $ARCHIVES{$_}) { - set_param_once( $input, \%params_set, 'archive', $_); } elsif (!$need_pkg && $sections_descs{$_}) { set_param_once( $input, \%params_set, 'subsection', $_); } elsif (!$need_pkg && ($_ eq 'source')) { @@ -206,6 +205,8 @@ sub do_dispatch { } elsif ($ARCHITECTURES{$_}) { set_param_once( $input, \%params_set, 'arch', $_) unless $_ eq 'any'; + } elsif (!$need_pkg && $ARCHIVES{$_}) { + set_param_once( $input, \%params_set, 'archive', $_); } elsif ($PRIORITIES{$_}) { set_param_once( $input, \%params_set, 'priority', $_); } else { @@ -247,7 +248,7 @@ sub do_dispatch { replace => { all => \@ARCHIVES, default => \@ARCHIVES} }, exact => { default => 0, match => '^(\w+)$', }, - lang => { default => $http_lang, match => '^(\w+)$', }, + lang => { default => $http_lang, match => '^([\w-]+)$', }, source => { default => 0, match => '^(\d+)$', }, debug => { default => 0, match => '^(\d+)$', }, searchon => { default => 'names', match => '^(\w+)$', },