Bugzilla – Attachment 116762 Details for
Bug 27673
Replace YAML with YAML::XS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27673: Replace YAML with YAML::XS
Bug-27673-Replace-YAML-with-YAMLXS.patch (text/plain), 25.94 KB, created by
Joonas Kylmälä
on 2021-02-11 15:32:27 UTC
(
hide
)
Description:
Bug 27673: Replace YAML with YAML::XS
Filename:
MIME Type:
Creator:
Joonas Kylmälä
Created:
2021-02-11 15:32:27 UTC
Size:
25.94 KB
patch
obsolete
>From 168f44b49058b68313555e8b646e2ef10ec9fa5f Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Wed, 10 Feb 2021 15:28:10 +0100 >Subject: [PATCH] Bug 27673: Replace YAML with YAML::XS >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >From tht YAML pod: > >""" >This module has been released to CPAN as YAML::Old, and soon YAML.pm will be changed to just be a frontend interface module for all the various Perl YAML implementation modules, including YAML::Old. > >If you want robust and fast YAML processing using the normal Dump/Load API, please consider switching to YAML::XS. It is by far the best Perl module for YAML at this time. It requires that you have a C compiler, since it is written in C. >""" > >See also >https://gitlab.com/koha-community/qa-test-tools/-/merge_requests/35 > >Test plan: >Try some place where YAML::XS is not used and confirm that it works >correctly > >QA note: This patch removes some uses of YAML that were not useful > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi> >--- > C4/Auth_with_cas.pm | 4 ++-- > C4/Circulation.pm | 4 +++- > C4/Context.pm | 4 ++-- > C4/Items.pm | 4 ++-- > C4/Record.pm | 6 +++--- > C4/Ris.pm | 3 ++- > C4/SMS.pm | 4 ++-- > C4/Search.pm | 1 - > C4/Utils/DataTables/TablesSettings.pm | 4 ++-- > Koha/Filter/MARC/EmbedItems.pm | 2 +- > Koha/Template/Plugin/TablesSettings.pm | 1 - > Koha/Z3950Responder/GenericSession.pm | 4 ++-- > about.pl | 8 ++++---- > acqui/addorderiso2709.pl | 6 +++--- > admin/columns_settings.pl | 1 - > admin/systempreferences.pl | 2 +- > circ/pendingreserves.pl | 3 ++- > cpanfile | 2 +- > misc/maintenance/fix_mysql_constraints.pl | 1 - > misc/migration_tools/bulkmarcimport.pl | 8 ++++---- > misc/migration_tools/ifla/update.pl | 12 ++++++------ > misc/search_tools/export_elasticsearch_mappings.pl | 4 ++-- > opac/opac-ISBDdetail.pl | 3 ++- > opac/opac-search.pl | 3 ++- > reports/reserves_stats.pl | 4 ++-- > t/Context.t | 4 ++-- > t/Installer_PerlModules.t | 2 +- > t/db_dependent/Budgets.t | 2 -- > t/db_dependent/Koha/Z3950Responder/GenericSession.t | 4 ++-- > t/db_dependent/Koha/Z3950Responder/ZebraSession.t | 1 - > t/db_dependent/OAI/Server.t | 8 ++++---- > t/db_dependent/Search.t | 2 -- > t/db_dependent/Serials.t | 1 - > xt/sample_notices.t | 1 - > xt/yaml_valid.pl | 4 ++-- > 35 files changed, 61 insertions(+), 66 deletions(-) > >diff --git a/C4/Auth_with_cas.pm b/C4/Auth_with_cas.pm >index ecfe7ccf69..f334f09ede 100644 >--- a/C4/Auth_with_cas.pm >+++ b/C4/Auth_with_cas.pm >@@ -26,7 +26,7 @@ use Koha::AuthUtils qw(get_script_name); > use Authen::CAS::Client; > use CGI qw ( -utf8 ); > use FindBin; >-use YAML; >+use YAML::XS; > > > use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug); >@@ -44,7 +44,7 @@ my $yamlauthfile = C4::Context->config('intranetdir') . "/C4/Auth_cas_servers.ya > > # If there's a configuration for multiple cas servers, then we get it > if (multipleAuth()) { >- ($defaultcasserver, $casservers) = YAML::LoadFile($yamlauthfile); >+ ($defaultcasserver, $casservers) = YAML::XS::LoadFile($yamlauthfile); > $defaultcasserver = $defaultcasserver->{'default'}; > } else { > # Else, we fall back to casServerUrl syspref >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 7f37b37af9..0211de0280 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -21,6 +21,8 @@ package C4::Circulation; > use Modern::Perl; > use DateTime; > use POSIX qw( floor ); >+use YAML::XS; >+ > use Koha::DateUtils; > use C4::Context; > use C4::Stats; >@@ -2014,7 +2016,7 @@ sub AddReturn { > if ($yaml) { > $yaml = "$yaml\n\n"; # YAML is anal on ending \n. Surplus does not hurt > my $rules; >- eval { $rules = YAML::Load($yaml); }; >+ eval { $rules = YAML::XS::Load($yaml); }; > if ($@) { > warn "Unable to parse UpdateNotForLoanStatusOnCheckin syspref : $@"; > } >diff --git a/C4/Context.pm b/C4/Context.pm >index 27c0e3ef8d..bf1df49336 100644 >--- a/C4/Context.pm >+++ b/C4/Context.pm >@@ -96,7 +96,7 @@ use Encode; > use File::Spec; > use Module::Load::Conditional qw(can_load); > use POSIX (); >-use YAML qw/Load/; >+use YAML::XS; > use ZOOM; > > use C4::Boolean; >@@ -445,7 +445,7 @@ the value cannot be properly decoded as YAML. > sub yaml_preference { > my ( $self, $preference ) = @_; > >- my $yaml = eval { YAML::Load( $self->preference( $preference ) ); }; >+ my $yaml = eval { YAML::XS::Load( $self->preference( $preference ) ); }; > if ($@) { > warn "Unable to parse $preference syspref : $@"; > return; >diff --git a/C4/Items.pm b/C4/Items.pm >index 48aed7b195..508e638149 100644 >--- a/C4/Items.pm >+++ b/C4/Items.pm >@@ -57,7 +57,7 @@ use MARC::Record; > use C4::ClassSource; > use C4::Log; > use List::MoreUtils qw(any); >-use YAML qw(Load); >+use YAML::XS; > use DateTime::Format::MySQL; > use Data::Dumper; # used as part of logging item record changes, not just for > # debugging; so please don't remove this >@@ -982,7 +982,7 @@ sub GetHiddenItemnumbers { > $yaml = "$yaml\n\n"; # YAML is anal on ending \n. Surplus does not hurt > my $hidingrules; > eval { >- $hidingrules = YAML::Load($yaml); >+ $hidingrules = YAML::XS::Load($yaml); > }; > if ($@) { > warn "Unable to parse OpacHiddenItems syspref : $@"; >diff --git a/C4/Record.pm b/C4/Record.pm >index c390c7ea06..5616879cb6 100644 >--- a/C4/Record.pm >+++ b/C4/Record.pm >@@ -29,7 +29,7 @@ use Unicode::Normalize; # _entity_encode > use C4::Biblio; #marc2bibtex > use C4::Koha; #marc2csv > use C4::XSLT (); >-use YAML; #marcrecords2csv >+use YAML::XS; #marcrecords2csv > use Template; > use Text::CSV::Encoded; #marc2csv > use Koha::Items; >@@ -415,7 +415,7 @@ sub marc2csv { > my $configfile = "../tools/csv-profiles/$id.yaml"; > my ($preprocess, $postprocess, $fieldprocessing); > if (-e $configfile){ >- ($preprocess,$postprocess, $fieldprocessing) = YAML::LoadFile($configfile); >+ ($preprocess,$postprocess, $fieldprocessing) = YAML::XS::LoadFile($configfile); > } > > # Preprocessing >@@ -800,7 +800,7 @@ sub marc2bibtex { > my $additional_fields; > if ($BibtexExportAdditionalFields) { > $BibtexExportAdditionalFields = "$BibtexExportAdditionalFields\n\n"; >- $additional_fields = eval { YAML::Load($BibtexExportAdditionalFields); }; >+ $additional_fields = eval { YAML::XS::Load($BibtexExportAdditionalFields); }; > if ($@) { > warn "Unable to parse BibtexExportAdditionalFields : $@"; > $additional_fields = undef; >diff --git a/C4/Ris.pm b/C4/Ris.pm >index de8dccc43c..3b39e96707 100644 >--- a/C4/Ris.pm >+++ b/C4/Ris.pm >@@ -63,6 +63,7 @@ package C4::Ris; > use Modern::Perl; > > use List::MoreUtils qw/uniq/; >+use YAML::XS; > use vars qw(@ISA @EXPORT); > > use Koha::SimpleMARC qw(read_field); >@@ -119,7 +120,7 @@ sub marc2ris { > my $ris_additional_fields; > if ($RisExportAdditionalFields) { > $RisExportAdditionalFields = "$RisExportAdditionalFields\n\n"; >- $ris_additional_fields = eval { YAML::Load($RisExportAdditionalFields); }; >+ $ris_additional_fields = eval { YAML::XS::Load($RisExportAdditionalFields); }; > if ($@) { > warn "Unable to parse RisExportAdditionalFields : $@"; > $ris_additional_fields = undef; >diff --git a/C4/SMS.pm b/C4/SMS.pm >index eff72b358c..ce3358f66a 100644 >--- a/C4/SMS.pm >+++ b/C4/SMS.pm >@@ -102,8 +102,8 @@ sub send_sms { > > my %args; > if ( -f $conf_file ) { >- require YAML; >- my $conf = YAML::LoadFile( $conf_file ); >+ require YAML::XS; >+ my $conf = YAML::XS::LoadFile( $conf_file ); > %args = map { q{_} . $_ => $conf->{$_} } keys %$conf; > } > >diff --git a/C4/Search.pm b/C4/Search.pm >index 0b50169ae0..f5f91db4a6 100644 >--- a/C4/Search.pm >+++ b/C4/Search.pm >@@ -33,7 +33,6 @@ use Koha::ItemTypes; > use Koha::Libraries; > use Koha::Patrons; > use Koha::RecordProcessor; >-use YAML; > use URI::Escape; > use Business::ISBN; > use MARC::Record; >diff --git a/C4/Utils/DataTables/TablesSettings.pm b/C4/Utils/DataTables/TablesSettings.pm >index 518f53fac6..79c9417569 100644 >--- a/C4/Utils/DataTables/TablesSettings.pm >+++ b/C4/Utils/DataTables/TablesSettings.pm >@@ -2,7 +2,7 @@ package C4::Utils::DataTables::TablesSettings; > > use Modern::Perl; > use List::Util qw( first ); >-use YAML; >+use YAML::XS; > use C4::Context; > use Koha::Database; > use Koha::Caches; >@@ -13,7 +13,7 @@ sub get_yaml { > my $yaml = $cache->get_from_cache('TablesSettingsYaml'); > > unless ($yaml) { >- $yaml = eval { YAML::LoadFile($yml_path) }; >+ $yaml = eval { YAML::XS::LoadFile($yml_path) }; > warn "ERROR: the yaml file for DT::TablesSettings is not correctly formatted: $@" > if $@; > $cache->set_in_cache( 'TablesSettingsYaml', $yaml, { expiry => 3600 } ); >diff --git a/Koha/Filter/MARC/EmbedItems.pm b/Koha/Filter/MARC/EmbedItems.pm >index 626c919846..c3623755ca 100644 >--- a/Koha/Filter/MARC/EmbedItems.pm >+++ b/Koha/Filter/MARC/EmbedItems.pm >@@ -31,7 +31,7 @@ my $biblio = Koha::Biblios->find( > my $opachiddenitems_rules; > eval { > my $yaml = C4::Context->preference('OpacHiddenItems') . "\n\n"; >- $opachiddenitems_rules = YAML::Load($yaml); >+ $opachiddenitems_rules = YAML::XS::Load($yaml); > }; > > my @items = grep { !$_->hidden_in_opac({ rules => $opachiddenitems_rules }) @{$biblio->items}; >diff --git a/Koha/Template/Plugin/TablesSettings.pm b/Koha/Template/Plugin/TablesSettings.pm >index 6aecf52f79..4e61e8814f 100644 >--- a/Koha/Template/Plugin/TablesSettings.pm >+++ b/Koha/Template/Plugin/TablesSettings.pm >@@ -54,7 +54,6 @@ use Modern::Perl; > use Template::Plugin; > use base qw( Template::Plugin ); > >-use YAML qw( LoadFile ); > use JSON qw( to_json ); > > use C4::Context qw( config ); >diff --git a/Koha/Z3950Responder/GenericSession.pm b/Koha/Z3950Responder/GenericSession.pm >index 103c627c53..a4552dfe5d 100644 >--- a/Koha/Z3950Responder/GenericSession.pm >+++ b/Koha/Z3950Responder/GenericSession.pm >@@ -49,8 +49,8 @@ sub start_search { > my ( $self, $args, $num_to_prefetch ) = @_; > > if (!defined $self->{'attribute_mappings'}) { >- require YAML; >- $self->{'attribute_mappings'} = YAML::LoadFile($self->{server}->{config_dir} . 'attribute_mappings.yaml'); >+ require YAML::XS; >+ $self->{'attribute_mappings'} = YAML::XS::LoadFile($self->{server}->{config_dir} . 'attribute_mappings.yaml'); > } > > my $database = $args->{DATABASES}->[0]; >diff --git a/about.pl b/about.pl >index 50952166f0..3c9ceb908d 100755 >--- a/about.pl >+++ b/about.pl >@@ -33,7 +33,7 @@ use XML::Simple; > use Config; > use Search::Elasticsearch; > use Try::Tiny; >-use YAML qw/LoadFile/; >+use YAML::XS; > > use C4::Output; > use C4::Auth; >@@ -429,7 +429,7 @@ my @bad_yaml_prefs; > foreach my $syspref (@yaml_prefs) { > my $yaml = C4::Context->preference( $syspref ); > if ( $yaml ) { >- eval { YAML::Load( "$yaml\n\n" ); }; >+ eval { YAML::XS::Load( "$yaml\n\n" ); }; > if ($@) { > push @bad_yaml_prefs, $syspref; > } >@@ -666,7 +666,7 @@ if ( defined C4::Context->config('docdir') ) { > ## Release teams > my $teams = > -e "$docdir" . "/teams.yaml" >- ? LoadFile( "$docdir" . "/teams.yaml" ) >+ ? YAML::XS::LoadFile( "$docdir" . "/teams.yaml" ) > : {}; > my $dev_team = (sort {$b <=> $a} (keys %{$teams->{team}}))[0]; > my $short_version = substr($versions{'kohaVersion'},0,5); >@@ -678,7 +678,7 @@ $template->param( development_version => $development_version ); > ## Contributors > my $contributors = > -e "$docdir" . "/contributors.yaml" >- ? LoadFile( "$docdir" . "/contributors.yaml" ) >+ ? YAML::XS::LoadFile( "$docdir" . "/contributors.yaml" ) > : {}; > for my $version ( sort { $a <=> $b } keys %{$teams->{team}} ) { > for my $role ( keys %{ $teams->{team}->{$version} } ) { >diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl >index a1ff5a70f4..87973c1fca 100755 >--- a/acqui/addorderiso2709.pl >+++ b/acqui/addorderiso2709.pl >@@ -24,7 +24,7 @@ > use Modern::Perl; > use CGI qw ( -utf8 ); > use Carp; >-use YAML qw/Load/; >+use YAML::XS; > use List::MoreUtils qw/uniq/; > > use C4::Context; >@@ -678,7 +678,7 @@ sub get_infos_syspref { > my $syspref = C4::Context->preference($syspref_name); > $syspref = "$syspref\n\n"; # YAML is anal on ending \n. Surplus does not hurt > my $yaml = eval { >- YAML::Load($syspref); >+ YAML::XS::Load($syspref); > }; > if ( $@ ) { > warn "Unable to parse $syspref syspref : $@"; >@@ -724,7 +724,7 @@ sub get_infos_syspref_on_item { > my $syspref = C4::Context->preference($syspref_name); > $syspref = "$syspref\n\n"; # YAML is anal on ending \n. Surplus does not hurt > my $yaml = eval { >- YAML::Load($syspref); >+ YAML::XS::Load($syspref); > }; > if ( $@ ) { > warn "Unable to parse $syspref syspref : $@"; >diff --git a/admin/columns_settings.pl b/admin/columns_settings.pl >index 9d19808eaf..2c185f8e7e 100755 >--- a/admin/columns_settings.pl >+++ b/admin/columns_settings.pl >@@ -2,7 +2,6 @@ > > use Modern::Perl; > use CGI; >-use YAML qw( LoadFile ); > use C4::Auth; > use C4::Context; > use C4::Output; >diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl >index c232bb139f..e124f25663 100755 >--- a/admin/systempreferences.pl >+++ b/admin/systempreferences.pl >@@ -50,7 +50,7 @@ use C4::Koha; > use C4::Languages qw(getTranslatedLanguages); > use C4::ClassSource; > use C4::Output; >-use YAML::Syck qw( Dump LoadFile ); >+use YAML::Syck qw( LoadFile ); > > my %tabsysprefs; #we do no longer need to keep track of a tab per pref (yaml) > >diff --git a/circ/pendingreserves.pl b/circ/pendingreserves.pl >index e827b89086..6da5e3a35a 100755 >--- a/circ/pendingreserves.pl >+++ b/circ/pendingreserves.pl >@@ -21,6 +21,7 @@ use Modern::Perl; > > use constant PULL_INTERVAL => 2; > use List::MoreUtils qw( uniq ); >+use YAML::XS; > > use C4::Context; > use C4::Output; >@@ -109,7 +110,7 @@ if ( $op eq 'cancel_reserve' and $reserve_id ) { > if ( my $yaml = C4::Context->preference('UpdateItemWhenLostFromHoldList') ) { > $yaml = "$yaml\n\n"; # YAML is anal on ending \n. Surplus does not hurt > my $assignments; >- eval { $assignments = YAML::Load($yaml); }; >+ eval { $assignments = YAML::XS::Load($yaml); }; > if ($@) { > warn "Unable to parse UpdateItemWhenLostFromHoldList syspref : $@" if $@; > } >diff --git a/cpanfile b/cpanfile >index b7bddb85aa..acec171339 100644 >--- a/cpanfile >+++ b/cpanfile >@@ -129,7 +129,7 @@ requires 'XML::RSS', '1.31'; > requires 'XML::SAX::ParserFactory', '1.01'; > requires 'XML::SAX::Writer', '0.44'; > requires 'XML::Simple', '2.14'; >-requires 'YAML', '0.71'; >+requires 'YAML::XS', '0.71'; > requires 'YAML::Syck', '0.71'; > recommends 'AnyEvent', '5.0'; > recommends 'AnyEvent::HTTP', '2.13'; >diff --git a/misc/maintenance/fix_mysql_constraints.pl b/misc/maintenance/fix_mysql_constraints.pl >index 00588b79f4..e2920e8fd4 100755 >--- a/misc/maintenance/fix_mysql_constraints.pl >+++ b/misc/maintenance/fix_mysql_constraints.pl >@@ -28,7 +28,6 @@ BEGIN { > > use Getopt::Long; > use Pod::Usage; >-use YAML; > use Try::Tiny; > use Koha::Script; > use C4::Context; >diff --git a/misc/migration_tools/bulkmarcimport.pl b/misc/migration_tools/bulkmarcimport.pl >index 1e7138b545..86040b6dbe 100755 >--- a/misc/migration_tools/bulkmarcimport.pl >+++ b/misc/migration_tools/bulkmarcimport.pl >@@ -26,7 +26,7 @@ use C4::Charset; > use C4::Items; > use C4::MarcModificationTemplates; > >-use YAML; >+use YAML::XS; > use Unicode::Normalize; > use Time::HiRes qw(gettimeofday); > use Getopt::Long; >@@ -565,7 +565,7 @@ if ($logfile){ > } > if ($yamlfile) { > open my $yamlfileout, q{>}, "$yamlfile" or die "cannot open $yamlfile \n"; >- print $yamlfileout Dump($yamlhash); >+ print $yamlfileout YAML::XS::Dump($yamlhash); > } > exit 0; > >@@ -631,9 +631,9 @@ sub printlog{ > sub get_heading_fields{ > my $headingfields; > if ($authtypes){ >- $headingfields=YAML::LoadFile($authtypes); >+ $headingfields = YAML::XS::LoadFile($authtypes); > $headingfields={C4::Context->preference('marcflavour')=>$headingfields}; >- $debug && warn YAML::Dump($headingfields); >+ $debug && warn YAML::XS::Dump($headingfields); > } > unless ($headingfields){ > $headingfields=$dbh->selectall_hashref("SELECT auth_tag_to_report, authtypecode from auth_types",'auth_tag_to_report',{Slice=>{}}); >diff --git a/misc/migration_tools/ifla/update.pl b/misc/migration_tools/ifla/update.pl >index 6f84cdc74b..cca30f0a09 100755 >--- a/misc/migration_tools/ifla/update.pl >+++ b/misc/migration_tools/ifla/update.pl >@@ -24,7 +24,7 @@ use File::Basename; > use FindBin qw($Bin); > use Getopt::Long; > use Locale::PO; >-use YAML qw(LoadFile); >+use YAML::XS; > use utf8; > > use Koha::Database; >@@ -68,17 +68,17 @@ EOT > exit 0; > } > >-my $defaults = LoadFile("$Bin/data/defaults.yml"); >-my $authorised_values = LoadFile("$Bin/data/authorised_values.yml"); >-my $authtypes = LoadFile("$Bin/data/authtypes.yml"); >+my $defaults = YAML::XS::LoadFile("$Bin/data/defaults.yml"); >+my $authorised_values = YAML::XS::LoadFile("$Bin/data/authorised_values.yml"); >+my $authtypes = YAML::XS::LoadFile("$Bin/data/authtypes.yml"); > my @authtags; > my @authsubfields; > for my $authfw (qw(default CLASS CO EXP FAM GENRE_FORM NP NTEXP NTWORK PA PERS PUB SAUTTIT SNC SNG TM TU WORK)) { >- my $file = LoadFile("$Bin/data/auth/$authfw.yml"); >+ my $file = YAML::XS::LoadFile("$Bin/data/auth/$authfw.yml"); > push @authtags, @{ $file->{authtags} }; > push @authsubfields, @{ $file->{authsubfields} }; > } >-my $biblio = LoadFile("$Bin/data/biblio/default.yml"); >+my $biblio = YAML::XS::LoadFile("$Bin/data/biblio/default.yml"); > my @tags = @{ $biblio->{tags} }; > my @subfields = @{ $biblio->{subfields} }; > >diff --git a/misc/search_tools/export_elasticsearch_mappings.pl b/misc/search_tools/export_elasticsearch_mappings.pl >index 5d3f49c828..a35882cb4f 100755 >--- a/misc/search_tools/export_elasticsearch_mappings.pl >+++ b/misc/search_tools/export_elasticsearch_mappings.pl >@@ -59,7 +59,7 @@ use Koha::SearchFields; > use Koha::SearchMarcMaps; > use Koha::SearchEngine::Elasticsearch; > >-use YAML; >+use YAML::XS; > use Getopt::Long; > use Pod::Usage; > >@@ -81,4 +81,4 @@ if ( $type && $type !~ /^(marc21|unimarc|normarc)$/ ) { > my $mappings = Koha::SearchEngine::Elasticsearch::raw_elasticsearch_mappings( $type ); > > binmode STDOUT, ":encoding(UTF-8)"; >-print Dump($mappings); >+print YAML::XS::Dump($mappings); >diff --git a/opac/opac-ISBDdetail.pl b/opac/opac-ISBDdetail.pl >index cc4b5b8d1a..f8ff0d2267 100755 >--- a/opac/opac-ISBDdetail.pl >+++ b/opac/opac-ISBDdetail.pl >@@ -40,6 +40,7 @@ the items attached to the biblio > =cut > > use Modern::Perl; >+use YAML::XS; > > use C4::Auth; > use C4::Context; >@@ -82,7 +83,7 @@ my $patron = Koha::Patrons->find($loggedinuser); > my $opachiddenitems_rules; > eval { > my $yaml = C4::Context->preference('OpacHiddenItems') . "\n\n"; >- $opachiddenitems_rules = YAML::Load($yaml); >+ $opachiddenitems_rules = YAML::XS::Load($yaml); > }; > > unless ( $patron and $patron->category->override_hidden_items ) { >diff --git a/opac/opac-search.pl b/opac/opac-search.pl >index d57cabd321..c04960d207 100755 >--- a/opac/opac-search.pl >+++ b/opac/opac-search.pl >@@ -30,6 +30,7 @@ use Modern::Perl; > use C4::Context; > use List::MoreUtils q/any/; > use Try::Tiny; >+use YAML::XS; > > use Data::Dumper; # TODO remove > >@@ -245,7 +246,7 @@ my $yaml = C4::Context->preference('OpacHiddenItems'); > if ( $yaml =~ /\S/ ) { > $yaml = "$yaml\n\n"; # YAML expects trailing newline. Surplus does not hurt. > eval { >- $hidingrules = YAML::Load($yaml); >+ $hidingrules = YAML::XS::Load($yaml); > }; > if ($@) { > warn "Unable to parse OpacHiddenItems syspref : $@"; >diff --git a/reports/reserves_stats.pl b/reports/reserves_stats.pl >index 79d8db98eb..30ab0628d8 100755 >--- a/reports/reserves_stats.pl >+++ b/reports/reserves_stats.pl >@@ -34,7 +34,7 @@ use Koha::ItemTypes; > use Koha::Libraries; > use Koha::Patron::Categories; > use List::MoreUtils qw/any/; >-use YAML; >+use YAML::XS; > > =head1 NAME > >@@ -218,7 +218,7 @@ sub calculate { > my @sqlorparams; > my @sqlor; > my @sqlwhere; >- ($debug) and print STDERR Dump($filters_hashref); >+ ($debug) and print STDERR YAML::XS::Dump($filters_hashref); > foreach my $filter (keys %$filters_hashref){ > my $string; > my $stringfield=$filter; >diff --git a/t/Context.t b/t/Context.t >index cbdaaedf42..553e992a28 100755 >--- a/t/Context.t >+++ b/t/Context.t >@@ -21,7 +21,7 @@ use DBI; > use Test::More tests => 35; > use Test::MockModule; > use Test::Warn; >-use YAML; >+use YAML::XS; > > use t::lib::Mocks; > >@@ -36,7 +36,7 @@ subtest 'yaml_preference() tests' => sub { > my $data = [ 'uno', 'dos', { 'tres' => 'cuatro' } ]; > > my $context = Test::MockModule->new( 'C4::Context' ); >- $context->mock( 'preference', YAML::Dump($data) ); >+ $context->mock( 'preference', YAML::XS::Dump($data) ); > > my $pref = C4::Context->new->yaml_preference( 'nothing' ); > >diff --git a/t/Installer_PerlModules.t b/t/Installer_PerlModules.t >index ea1002b9bb..61d9bc22f5 100755 >--- a/t/Installer_PerlModules.t >+++ b/t/Installer_PerlModules.t >@@ -16,7 +16,7 @@ ok ($modules = C4::Installer::PerlModules->new(), 'Tests modules object'); > my $prereq_pm = $modules->prereq_pm(); > ok (exists($prereq_pm->{"DBI"}), 'DBI required for installer to run'); > ok (exists($prereq_pm->{"CGI"}), 'CGI required for installer to run' ); >-ok (exists($prereq_pm->{"YAML"}), 'YAML required for installer to run'); >+ok (exists($prereq_pm->{"YAML::XS"}), 'YAML::XS required for installer to run'); > > subtest 'versions_info' => sub { > plan tests => 4; >diff --git a/t/db_dependent/Budgets.t b/t/db_dependent/Budgets.t >index bf3855db01..59a7431a53 100755 >--- a/t/db_dependent/Budgets.t >+++ b/t/db_dependent/Budgets.t >@@ -20,8 +20,6 @@ use t::lib::TestBuilder; > use t::lib::Mocks; > use Koha::DateUtils; > >-use YAML; >- > use t::lib::Mocks; > t::lib::Mocks::mock_preference('OrderPriceRounding',''); > >diff --git a/t/db_dependent/Koha/Z3950Responder/GenericSession.t b/t/db_dependent/Koha/Z3950Responder/GenericSession.t >index dfcad7a770..74d0e9fd92 100755 >--- a/t/db_dependent/Koha/Z3950Responder/GenericSession.t >+++ b/t/db_dependent/Koha/Z3950Responder/GenericSession.t >@@ -11,7 +11,7 @@ use File::Basename; > use File::Copy; > use FindBin qw($Bin); > use XML::LibXML; >-use YAML; >+use YAML::XS; > use ZOOM; > > BEGIN { >@@ -51,7 +51,7 @@ subtest 'test_search' => sub { > MARC::Field->new('999', '', '', c => '1234567'), > ); > >- my $yaml = Test::MockModule->new('YAML'); >+ my $yaml = Test::MockModule->new('YAML::XS'); > $yaml->mock('LoadFile', sub { > return { > biblios => { >diff --git a/t/db_dependent/Koha/Z3950Responder/ZebraSession.t b/t/db_dependent/Koha/Z3950Responder/ZebraSession.t >index 6088169d47..70e38f09d1 100755 >--- a/t/db_dependent/Koha/Z3950Responder/ZebraSession.t >+++ b/t/db_dependent/Koha/Z3950Responder/ZebraSession.t >@@ -6,7 +6,6 @@ use Test::More tests => 3; > use Test::MockObject; > use t::lib::Mocks qw(mock_preference); > >-use YAML; > use ZOOM; > > BEGIN { >diff --git a/t/db_dependent/OAI/Server.t b/t/db_dependent/OAI/Server.t >index 25316ceeb7..7efac23999 100755 >--- a/t/db_dependent/OAI/Server.t >+++ b/t/db_dependent/OAI/Server.t >@@ -27,7 +27,7 @@ use File::Spec; > use Test::MockModule; > use Test::Warn; > use XML::Simple; >-use YAML; >+use YAML::XS; > > use t::lib::Mocks; > >@@ -176,9 +176,9 @@ sub test_query { > delete $response->{responseDate}; > unless (is_deeply($response, \%full_expected, $test)) { > diag >- "PARAM:" . Dump($param) . >- "EXPECTED:" . Dump(\%full_expected) . >- "RESPONSE:" . Dump($response); >+ "PARAM:" . YAML::XS::Dump($param) . >+ "EXPECTED:" . YAML::XS::Dump(\%full_expected) . >+ "RESPONSE:" . YAML::XS::Dump($response); > } > } > >diff --git a/t/db_dependent/Search.t b/t/db_dependent/Search.t >index e4d80141b3..3b4e6d38dc 100755 >--- a/t/db_dependent/Search.t >+++ b/t/db_dependent/Search.t >@@ -19,8 +19,6 @@ use Modern::Perl; > > use utf8; > >-use YAML; >- > use C4::Debug; > use C4::AuthoritiesMarc qw( SearchAuthorities ); > use C4::XSLT; >diff --git a/t/db_dependent/Serials.t b/t/db_dependent/Serials.t >index ea9e5a972a..ac6c0d1df3 100755 >--- a/t/db_dependent/Serials.t >+++ b/t/db_dependent/Serials.t >@@ -4,7 +4,6 @@ > # Add more tests here!!! > > use Modern::Perl; >-use YAML; > > use C4::Serials; > use C4::Serials::Frequency; >diff --git a/xt/sample_notices.t b/xt/sample_notices.t >index db2342d1b6..7b3fb80879 100755 >--- a/xt/sample_notices.t >+++ b/xt/sample_notices.t >@@ -78,7 +78,6 @@ sub compare_notices { > open( my $trans_fh,"<", "$root_dir/$trans_file" ), > "Open translated sample notices file $root_dir/$trans_file" ); > my $trans_notice = get_notices_from_sql_file( $trans_fh ); >- use YAML; > my @trans_notices = sort { lc $a cmp lc $b } keys %$trans_notice; > cmp_ok( > $#trans_notices, '>=', 0, >diff --git a/xt/yaml_valid.pl b/xt/yaml_valid.pl >index 90ab5f7db3..2bbb9650cb 100755 >--- a/xt/yaml_valid.pl >+++ b/xt/yaml_valid.pl >@@ -19,7 +19,7 @@ > > use Modern::Perl; > use Getopt::Long; >-use YAML; >+use YAML::XS; > > my $usage = <<EOF; > yaml_valid.pl - give it a filename and it will told you if it is an exact yaml file. >@@ -39,7 +39,7 @@ GetOptions( > die $usage if $help; > > say "Testing file: $file"; >-eval { YAML::LoadFile($file); }; >+eval { YAML::XS::LoadFile($file); }; > if ($@) { > print "KO!\n$@\n"; > } >-- >2.11.0
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 27673
:
116670
|
116675
|
116694
|
116695
|
116696
|
116737
|
116738
|
116739
|
116740
| 116762 |
116763
|
116764
|
116765
|
116766
|
116778
|
116835
|
116929
|
116990