Bugzilla – Attachment 73364 Details for
Bug 20364
Show languages from MARC21 field 041 in intranet
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 20364: Follow up to correct koha qa test tool failure
Bug-20364-Follow-up-to-correct-koha-qa-test-tool-f.patch (text/plain), 4.03 KB, created by
Mark Tompsett
on 2018-03-28 03:35:01 UTC
(
hide
)
Description:
Bug 20364: Follow up to correct koha qa test tool failure
Filename:
MIME Type:
Creator:
Mark Tompsett
Created:
2018-03-28 03:35:01 UTC
Size:
4.03 KB
patch
obsolete
>From d2edcd29e73f450ff5a6a400154615c99e23af62 Mon Sep 17 00:00:00 2001 >From: Mark Tompsett <mtompset@hotmail.com> >Date: Wed, 28 Mar 2018 03:28:52 +0000 >Subject: [PATCH] Bug 20364: Follow up to correct koha qa test tool failure > >Plus, improve the perlcritic level beyond minimal. > >TEST PLAN >--------- >1) apply first patch >2) run the script in a koha shell output to before.xml >3) run koha qa test tools > -- script will fail. >4) perlcritic -3 on script is noisy. >5) apply this patch >6) run the script in a koha shell output to after.xml >7) a diff of these two output files should be identical >8) run koha qa test tools > -- script will now pass >9) perlcritic -3 on script is OK. >--- > misc/maintenance/generate_MARC21Languages.pl | 71 +++++++++++++++++++--------- > 1 file changed, 48 insertions(+), 23 deletions(-) > >diff --git a/misc/maintenance/generate_MARC21Languages.pl b/misc/maintenance/generate_MARC21Languages.pl >index f9198d1..cddea52 100755 >--- a/misc/maintenance/generate_MARC21Languages.pl >+++ b/misc/maintenance/generate_MARC21Languages.pl >@@ -22,6 +22,7 @@ use Modern::Perl; > use XML::Simple; > use Pod::Usage; > use Getopt::Long; >+use Carp; > > use open ':std', ':encoding(UTF-8)'; > >@@ -37,26 +38,54 @@ my $outfile; > my $tempfile = '/tmp/languages.xml'; > > GetOptions( >- 'o|output:s' => \$outfile, >- 'url:s' => \$sourceurl, >- 'help|h' => \$help, >+ 'o|output:s' => \$outfile, >+ 'url:s' => \$sourceurl, >+ 'help|h' => \$help, > ); > > usage() if $help; > >-# output log or STDOUT >-if (defined $outfile) { >- open (OUT, ">$outfile") || die ("Cannot open output file"); >-} else { >- open(OUT, ">&STDOUT") || die ("Couldn't duplicate STDOUT: $!"); >-} >- >-system( qq{/usr/bin/wget $sourceurl -O $tempfile } ) == 0 or die "Can't wget $sourceurl ($?)"; >+system(qq{/usr/bin/wget $sourceurl -O $tempfile }) == 0 >+ or croak "Can't wget $sourceurl ($?)"; > >-my $ref = XMLin($tempfile); >+my $ref = XMLin($tempfile); > my $languages = $ref->{'languages'}->{'language'}; > >-print OUT <<HEADER; >+# output log or STDOUT >+my $out_handle; >+if ( defined $outfile ) { >+ open( $out_handle, '>', $outfile ) || croak("Cannot open output file"); >+} >+else { >+ open( $out_handle, ">&STDOUT" ) || croak("Couldn't duplicate STDOUT: $!"); >+} >+generate_header($out_handle); >+generate_body($out_handle, $languages); >+generate_footer($out_handle); >+close $out_handle; >+ >+sub generate_body { >+ my ( $file_handle, $language_list ) = @_; >+ >+ foreach my $l ( @{$language_list} ) { >+ my $code = $l->{'code'}; >+ my $name = ( >+ ref( $l->{'name'} ) eq 'HASH' >+ ? $l->{'name'}{'content'} >+ : $l->{'name'} >+ ); >+ next if ( ref($code) eq 'HASH' && $code->{'status'} eq 'obsolete' ); >+ print {$file_handle} " <xsl:when test=\"\$code='$code'\">"; >+ print {$file_handle} "<xsl:text>$name</xsl:text>"; >+ print {$file_handle} "</xsl:when>"; >+ print {$file_handle} "\n"; >+ } >+ return; >+} >+ >+sub generate_header { >+ my ($file_handle) = @_; >+ print {$file_handle} <<"HEADER"; > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE stylesheet [<!ENTITY nbsp " " >]> > <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> >@@ -65,18 +94,12 @@ print OUT <<HEADER; > <xsl:param name="code"/> > <xsl:choose> > HEADER >- >-foreach my $l (@{$languages}) { >- my $code = $l->{'code'}; >- my $name = (ref($l->{'name'}) eq 'HASH' ? $l->{'name'}{'content'} : $l->{'name'}); >- next if (ref($code) eq 'HASH' && $code->{'status'} eq 'obsolete'); >- print OUT " <xsl:when test=\"\$code='".$code."'\">"; >- print OUT "<xsl:text>$name</xsl:text>"; >- print OUT "</xsl:when>"; >- print OUT "\n"; >+ return; > } > >-print OUT <<FOOTER; >+sub generate_footer { >+ my ($file_handle) = @_; >+ print {$file_handle} <<"FOOTER"; > <xsl:otherwise> > <xsl:text>Unknown language code</xsl:text> > </xsl:otherwise> >@@ -84,6 +107,8 @@ print OUT <<FOOTER; > </xsl:template> > </xsl:stylesheet> > FOOTER >+ return; >+} > > =head1 NAME > >-- >2.1.4
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 20364
:
72559
|
73363
|
73364
|
79858
|
90347
|
90845
|
91394