use File::Basename qw/fileparse/;
use File::Slurp qw/write_file/;
use IO::Compress::Gzip qw/gzip/;
use File::Basename qw/fileparse/;
use File::Slurp qw/write_file/;
use IO::Compress::Gzip qw/gzip/;
my ($path_noext, $ext) = $path =~ m/^(.*)\.(.*)$/;
my $basename = fileparse $path_noext;
my ($path_noext, $ext) = $path =~ m/^(.*)\.(.*)$/;
my $basename = fileparse $path_noext;
- open my $typemap, ">$path_noext.var";
+ IO::File->new(">$path_noext.var")->close unless -f "$path_noext.var";
+ flock my $lockfh = IO::File->new("<$path_noext.var"), LOCK_EX;
+ open my $typemap, ">$path_noext.var.new";
say $typemap "URI: $basename\n";
for my $gen(@generators) {
my ($regex, $generator) = @$gen;
next unless $path_noext =~ $regex;
for my $lang (@{LANGUAGES()}) {
my $page = $generator->($path, $lang);
say $typemap "URI: $basename\n";
for my $gen(@generators) {
my ($regex, $generator) = @$gen;
next unless $path_noext =~ $regex;
for my $lang (@{LANGUAGES()}) {
my $page = $generator->($path, $lang);
+
+ for my $lang(@{LANGUAGES()}) {
+ rename "$path_noext.$lang.$ext.new", "$path_noext.$lang.$ext";
+ rename "$path_noext.$lang.gz.$ext.new", "$path_noext.$lang.gz.$ext";
+ }
+ rename "$path_noext.var.new", "$path_noext.var";