Bug 29234: Further clean Z3950 Tests
[srvgit] / misc / search_tools / export_elasticsearch_mappings.pl
old mode 100644 (file)
new mode 100755 (executable)
index bd96f81..1fdc451
@@ -2,22 +2,22 @@
 
 # This inserts records from a Koha database into elastic search
 
-# Copyright 2014 Catalyst IT
+# Copyright 2020 Koha Development Team
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 3 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 =head1 NAME
 
@@ -37,7 +37,7 @@ Export search_marc_map, search_marc_to_field and search_field tables to YAML.
 
 =over
 
-=item B<-t|--type>=C<marc21|unimarc|normarc>
+=item B<-t|--type>=C<marc21|unimarc>
 
 Only export a specific marc type. All if empty.
 
@@ -52,15 +52,17 @@ Full documentation.
 =cut
 
 use Modern::Perl;
+use Encode;
 
+use Koha::Script;
 use Koha::Database;
 use Koha::SearchFields;
 use Koha::SearchMarcMaps;
 use Koha::SearchEngine::Elasticsearch;
 
-use YAML;
-use Getopt::Long;
-use Pod::Usage;
+use YAML::XS;
+use Getopt::Long qw( GetOptions );
+use Pod::Usage qw( pod2usage );
 
 my $type = '';
 my $man;
@@ -72,11 +74,12 @@ GetOptions(
 
 pod2usage( -exitstatus => 0, -verbose => 2 ) if $man;
 
-if ( $type && $type !~ /^(marc21|unimarc|normarc)$/ ) {
+if ( $type && $type !~ /^(marc21|unimarc)$/ ) {
     print "Bad marc type provided.\n";
     pod2usage(1);
 }
 
 my $mappings = Koha::SearchEngine::Elasticsearch::raw_elasticsearch_mappings( $type );
 
-print Dump($mappings);
+binmode STDOUT, ":encoding(UTF-8)";
+print Encode::decode_utf8( YAML::XS::Dump($mappings) );