#!/usr/bin/perl

use strict;
use warnings;

open my $fh, '<', $ARGV[0];
my @lines = <$fh>;
close $fh;

my $iDIW;
for (my $i=0; $i < @lines ; $i++) {
  if ($lines[$i] =~ /^\s+distance_in_words:$/) {
    $iDIW= $i;
    last;
  }
}
die unless $iDIW;

open $fh, '>', 'lang/'.$ARGV[0];
for (my $i=0; $i < $iDIW ; $i++) {
  print $fh $lines[$i];
}

foreach my $x ('x_hours', 'x_days') {
  my ($start, $end, $c);
  for (my $i=$iDIW; $i < @lines ; $i++) {
    my $line= $lines[$i];
    if ($line =~ /^\s+($x:)$/) {
      #print "$x $i\n";
      $start= $i;
      $c= $-[1]+1;
      #print "$x $i $c\n";
    } elsif ($start and substr($line, 0, $c) =~ /[^\s]/) {
      $end= $i;
      #print "$ARGV[0] $x $start $end\n";
      for (my $i=$start; $i < $end ; $i++) {
        (my $line= $lines[$i]) =~ s/^  //;
        print $fh $line;
      }
      last;
    }
  }
  die unless $end;
}

for (my $i=$iDIW; $i < @lines ; $i++) {
  print $fh $lines[$i];
}
close $fh;
