Blame internal/deprecate_codes

Packit f3e6b9
#!/usr/bin/perl -w
Packit f3e6b9
Packit f3e6b9
use lib "./lib";
Packit f3e6b9
use IO::File;
Packit f3e6b9
use YAML::Syck qw(LoadFile DumpFile);
Packit f3e6b9
use Locale::Codes::Constants;
Packit f3e6b9
use Locale::Codes::Country_Retired;
Packit f3e6b9
use Locale::Codes::Language_Retired;
Packit f3e6b9
use Locale::Codes::Currency_Retired;
Packit f3e6b9
use Locale::Codes::Script_Retired;
Packit f3e6b9
use Locale::Codes::LangExt_Retired;
Packit f3e6b9
use Locale::Codes::LangVar_Retired;
Packit f3e6b9
Packit f3e6b9
############################################################################
Packit f3e6b9
Packit f3e6b9
our %mod_list = qw(country     Country
Packit f3e6b9
                   currency    Currency
Packit f3e6b9
                   langext     LangExt
Packit f3e6b9
                   langvar     LangVar
Packit f3e6b9
                   language    Language
Packit f3e6b9
                   script      Script
Packit f3e6b9
                 );
Packit f3e6b9
Packit f3e6b9
our $curr    = "internal/curr.yaml";
Packit f3e6b9
our $prev    = "internal/prev.yaml";
Packit f3e6b9
Packit f3e6b9
our %curr    = %{ LoadFile($curr) };
Packit f3e6b9
our %prev    = %{ LoadFile($prev) };
Packit f3e6b9
Packit f3e6b9
our $mod_dir = "lib/Locale/Codes";
Packit f3e6b9
Packit f3e6b9
############################################################################
Packit f3e6b9
############################################################################
Packit f3e6b9
Packit f3e6b9
foreach my $type (keys %mod_list) {
Packit f3e6b9
   update_retired($type);
Packit f3e6b9
   write_module($type);
Packit f3e6b9
}
Packit f3e6b9
Packit f3e6b9
############################################################################
Packit f3e6b9
# UPDATE_MODULE
Packit f3e6b9
############################################################################
Packit f3e6b9
Packit f3e6b9
sub update_retired {
Packit f3e6b9
   my($type)  = @_;
Packit f3e6b9
   my $module = $mod_list{$type};
Packit f3e6b9
Packit f3e6b9
   foreach my $codeset (keys %{ $ALL_CODESETS{$type}{'codesets'} }) {
Packit f3e6b9
      foreach my $code (keys %{ $prev{$type}{$codeset}{'code'} }) {
Packit f3e6b9
         next  if (exists $curr{$type}{$codeset}{'code'}{$code});
Packit f3e6b9
         my $name = $prev{$type}{$codeset}{'code'}{$code};
Packit f3e6b9
Packit f3e6b9
         $Locale::Codes::Retired{$type}{$codeset}{'code'}{$code} = $name;
Packit f3e6b9
      }
Packit f3e6b9
Packit f3e6b9
      foreach my $lc (keys %{ $prev{$type}{$codeset}{'name'} }) {
Packit f3e6b9
         next  if (exists $curr{$type}{$codeset}{'name'}{$lc});
Packit f3e6b9
         my($code,$name) = @{ $prev{$type}{$codeset}{'name'}{$lc} };
Packit f3e6b9
Packit f3e6b9
         $Locale::Codes::Retired{$type}{$codeset}{'name'}{$lc} =
Packit f3e6b9
           [$code,$name];
Packit f3e6b9
      }
Packit f3e6b9
   }
Packit f3e6b9
}
Packit f3e6b9
Packit f3e6b9
############################################################################
Packit f3e6b9
# WRITE_MODULE
Packit f3e6b9
############################################################################
Packit f3e6b9
Packit f3e6b9
sub write_module {
Packit f3e6b9
   my($type)  = @_;
Packit f3e6b9
   my $module = $mod_list{$type};
Packit f3e6b9
Packit f3e6b9
   my $file   = "$mod_dir/${module}_Retired.pm";
Packit f3e6b9
Packit f3e6b9
   my $out    = new IO::File;
Packit f3e6b9
   $out->open(">$file");
Packit f3e6b9
   my $timestamp   = `date`;
Packit f3e6b9
   chomp($timestamp);
Packit f3e6b9
Packit f3e6b9
   print $out "package #
Packit f3e6b9
Locale::Codes::${module}_Retired;
Packit f3e6b9
Packit f3e6b9
# This file was automatically generated.  Any changes to this file will
Packit f3e6b9
# be lost the next time 'deprecate_codes' is run.
Packit f3e6b9
#    Generated on: $timestamp
Packit f3e6b9
Packit f3e6b9
use strict;
Packit f3e6b9
require 5.006;
Packit f3e6b9
use warnings;
Packit f3e6b9
use utf8;
Packit f3e6b9
Packit f3e6b9
our(\$VERSION);
Packit f3e6b9
\$VERSION='3.57';
Packit f3e6b9
Packit f3e6b9
";
Packit f3e6b9
Packit f3e6b9
   foreach my $codeset (sort keys %{ $ALL_CODESETS{$type}{'codesets'} }) {
Packit f3e6b9
      print $out "\$Locale::Codes::Retired{'$type'}{'$codeset'}{'code'} = {\n";
Packit f3e6b9
      foreach my $code (sort keys %{ $Locale::Codes::Retired{$type}{$codeset}{'code'} }) {
Packit f3e6b9
         my $name = $Locale::Codes::Retired{$type}{$codeset}{'code'}{$code};
Packit f3e6b9
         print $out "   q($code) => q($name),\n";
Packit f3e6b9
      }
Packit f3e6b9
      print $out "};\n\n";
Packit f3e6b9
   }
Packit f3e6b9
Packit f3e6b9
   foreach my $codeset (sort keys %{ $ALL_CODESETS{$type}{'codesets'} }) {
Packit f3e6b9
      print $out "\$Locale::Codes::Retired{'$type'}{'$codeset'}{'name'} = {\n";
Packit f3e6b9
      foreach my $lc (sort keys %{ $Locale::Codes::Retired{$type}{$codeset}{'name'} }) {
Packit f3e6b9
         my ($code,$name) =
Packit f3e6b9
           @{ $Locale::Codes::Retired{$type}{$codeset}{'name'}{$lc} };
Packit f3e6b9
         print $out "   q($lc) => [ q($code), q($name) ],\n";
Packit f3e6b9
      }
Packit f3e6b9
      print $out "};\n\n";
Packit f3e6b9
   }
Packit f3e6b9
Packit f3e6b9
   print $out "
Packit f3e6b9
1;
Packit f3e6b9
";
Packit f3e6b9
   $out->close();
Packit f3e6b9
}
Packit f3e6b9
Packit f3e6b9
1;
Packit f3e6b9
Packit f3e6b9
# Local Variables:
Packit f3e6b9
# mode: cperl
Packit f3e6b9
# indent-tabs-mode: nil
Packit f3e6b9
# cperl-indent-level: 3
Packit f3e6b9
# cperl-continued-statement-offset: 2
Packit f3e6b9
# cperl-continued-brace-offset: 0
Packit f3e6b9
# cperl-brace-offset: 0
Packit f3e6b9
# cperl-brace-imaginary-offset: 0
Packit f3e6b9
# cperl-label-offset: 0
Packit f3e6b9
# End: