Bugzilla – Attachment 28644 Details for
Bug 12061
tmpl_process3.pl new features
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 12061 - tmpl_process3.pl - Multiple source dir
Bug-12061---tmplprocess3pl---Multiple-source-dir.patch (text/plain), 5.58 KB, created by
Fridolin Somers
on 2014-06-03 09:03:24 UTC
(
hide
)
Description:
Bug 12061 - tmpl_process3.pl - Multiple source dir
Filename:
MIME Type:
Creator:
Fridolin Somers
Created:
2014-06-03 09:03:24 UTC
Size:
5.58 KB
patch
obsolete
>From a43aa4eb15b19ba8582e881d45c2180782699870 Mon Sep 17 00:00:00 2001 >From: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> >Date: Sun, 6 Apr 2014 21:39:08 -0300 >Subject: [PATCH] Bug 12061 - tmpl_process3.pl - Multiple source dir > >This patch adds the option to use multiple source >dirs for tmpl_process3.pl on create/update actions. > >To test after patch: >A) Old >1. install >cd misc/translator >perl tmpl_process3.pl create -i ../../koha-tmpl/opac-tmpl/bootstrap/en -s bootstrap.po -r > >2. update >perl tmpl_process3.pl update -i ../../koha-tmpl/opac-tmpl/bootstrap -s bootstrap.po -r > >3. install >mkdir test >perl tmpl_process3.pl install -i ../../koha-tmpl/opac-tmpl/bootstrap -s bootstrap.po -r -o ./test -q >- check same number of files >ls -lR ../../koha-tmpl/opac-tmpl/bootstrap | wc -l >ls -lR ./test | wc -l > >rm -f bootstrap.po > >B) New >4. create from multiple sources >perl tmpl_process3.pl create -i ../../koha-tmpl/opac-tmpl/prog/en -i ../../koha-tmpl/opac-tmpl/bootstrap/en -i ../../koha-tmpl/opac-tmpl/ccsr/en -s opac.po -r > >5. update from multiple source >perl tmpl_process3.pl update -i ../../koha-tmpl/opac-tmpl/prog/en -i ../../koha-tmpl/opac-tmpl/bootstrap/en -i ../../koha-tmpl/opac-tmpl/ccsr/en -s opac.po -r > >6. install (must give an error) >perl tmpl_process3.pl install -i ../../koha-tmpl/opac-tmpl/prog/en -i ../../koha-tmpl/opac-tmpl/bootstrap -s opac.po -r -o ./test > >7. updated help >perl tmpl_process3.pl --help > >Any other functionality must not be affected > >Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> >--- > misc/translator/tmpl_process3.pl | 34 +++++++++++++++++++++++----------- > 1 file changed, 23 insertions(+), 11 deletions(-) > >diff --git a/misc/translator/tmpl_process3.pl b/misc/translator/tmpl_process3.pl >index 1690306..4c23a8f 100755 >--- a/misc/translator/tmpl_process3.pl >+++ b/misc/translator/tmpl_process3.pl >@@ -22,7 +22,7 @@ use VerboseWarnings qw( :warn :die ); > > ############################################################################### > >-use vars qw( $in_dir @filenames $str_file $out_dir $quiet ); >+use vars qw( @in_dirs @filenames $str_file $out_dir $quiet ); > use vars qw( @excludes $exclude_regex ); > use vars qw( $recursive_p ); > use vars qw( $pedantic_p ); >@@ -185,7 +185,9 @@ Usage: $0 create [OPTION] > or: $0 --help > Create or update PO files from templates, or install translated templates. > >- -i, --input=SOURCE Get or update strings from SOURCE directory. >+ -i, --input=SOURCE Get or update strings from SOURCE directory(s). >+ On create or update can have multiple values. >+ On install only one value. > -o, --outputdir=DIRECTORY Install translation(s) to specified DIRECTORY > --pedantic-warnings Issue warnings even for detected problems > which are likely to be harmless >@@ -199,10 +201,10 @@ Create or update PO files from templates, or install translated templates. > -q, --quiet no output to screen (except for errors) > > The -o option is ignored for the "create" and "update" actions. >-Try `perldoc $0 for perhaps more information. >+Try `perldoc $0` for perhaps more information. > EOF > exit($exitcode); >-}#` >+} > > ############################################################################### > >@@ -217,7 +219,7 @@ sub usage_error (;$) { > ############################################################################### > > GetOptions( >- 'input|i=s' => \$in_dir, >+ 'input|i=s' => \@in_dirs, > 'filename|f=s' => \@filenames, > 'outputdir|o=s' => \$out_dir, > 'recursive|r' => \$recursive_p, >@@ -239,15 +241,17 @@ $SIG{__WARN__} = sub { > > my $action = shift or usage_error('You must specify an ACTION.'); > usage_error('You must at least specify input and string list filenames.') >- if !$in_dir || !defined $str_file; >+ if !@in_dirs || !defined $str_file; > > # Type match defaults to *.tt plus *.inc if not specified > $type = "tt|inc|xsl|xml|def" if !defined($type); > > # Check the inputs for being directories >-usage_error("$in_dir: Input must be a directory.\n" >- . "(Symbolic links are not supported at the moment)") >- unless -d $in_dir; >+for my $in_dir ( @in_dirs ) { >+ usage_error("$in_dir: Input must be a directory.\n" >+ . "(Symbolic links are not supported at the moment)") >+ unless -d $in_dir; >+} > > # Generates the global exclude regular expression > $exclude_regex = '(?:'.join('|', @excludes).')' if @excludes; >@@ -255,13 +259,15 @@ $exclude_regex = '(?:'.join('|', @excludes).')' if @excludes; > my @in_files; > # Generate the list of input files if a directory is specified > # input is a directory, generates list of files to process >-$in_dir =~ s/\/$//; # strips the trailing / if any > > for my $fn ( @filenames ) { > die "You cannot specify input files and directories at the same time.\n" > if -d $fn; > } >-@in_files = listfiles($in_dir, $type, $action, \@filenames); >+for my $in_dir ( @in_dirs ) { >+ $in_dir =~ s/\/$//; # strips the trailing / if any >+ @in_files = ( @in_files, listfiles($in_dir, $type, $action, \@filenames) ); >+} > > # restores the string list from file > $href = Locale::PO->load_file_ashash($str_file); >@@ -394,6 +400,12 @@ if ($action eq 'create') { > usage_error("You must specify an output directory when using the install method."); > } > >+ if ( scalar @in_dirs > 1 ) { >+ usage_error("You must specify only one input directory when using the install method."); >+ } >+ >+ my $in_dir = shift @in_dirs; >+ > if ($in_dir eq $out_dir) { > warn "You must specify a different input and output directory.\n"; > exit -1; >-- >1.9.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 12061
:
26943
|
26944
|
26945
|
28443
|
28444
|
28445
|
28450
|
28451
|
28643
|
28644
|
28645
|
28735
|
28736
|
28737
|
30148
|
30966