mcabber/contrib/conv_log_dates.pl
author Mikael Berthe <mikael@lilotux.net>
Sun, 17 Jul 2005 22:21:51 +0100
changeset 331 1510dda4ad71
parent 243 c07fa9baca3f
permissions -rwxr-xr-x
Don't loose alternate_buddy when the buddy is moved ("/move")
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
243
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     1
#!/usr/bin/perl -w
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     2
#
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     3
# usage: conv_log_dates.pl historyfile.old > historyfile.new
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     4
# Convert the dates to the new logfile format (mcabber v. >= 0.6.1)
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     5
#
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     6
# See histolog.c for the mcabber format.
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     7
#
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     8
# MiKael, 2005/06/14
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
     9
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    10
use strict;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    11
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    12
my $line;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    13
my $linesleft = 0;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    14
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    15
while ($line = <>) {
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    16
  if ($linesleft) {
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    17
    print $line;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    18
    $linesleft--;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    19
    next;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    20
  }
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    21
  my $type = substr($line, 0, 2);
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    22
  my $off_format = 0;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    23
  my $date;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    24
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    25
  if (substr($line, 11, 1) eq "T") {
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    26
    $off_format = 8; # Offset
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    27
  }
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    28
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    29
  if ($off_format) {
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    30
    # Already using the new format, nothing to do
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    31
    $date = substr($line, 3, 18);
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    32
  } else {
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    33
    # Date conversion to iso8601
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    34
    my ($ss,$mm,$hh,$DD,$MM,$YYYY) = gmtime(substr($line, 3, 10));
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    35
    $date = sprintf "%04d%02d%02dT%02d:%02d:%02dZ",
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    36
                    $YYYY+1900, $MM+1,$DD,$hh,$mm,$ss;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    37
  }
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    38
  $linesleft = substr($line, 14 + $off_format, 3);
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    39
  $line      = substr($line, 14 + $off_format);
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    40
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    41
  print $type." ".$date." ".$line;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    42
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    43
  # Is there something better to cast to integer?
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    44
  $linesleft = 0 + $linesleft;
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    45
}
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    46
c07fa9baca3f [/trunk] Changeset 256 by mikael
mikael
parents:
diff changeset
    47
# vim:set sw=2 sts=2 et si cinoptions="":