Mon, 06 Dec 2004 01:03:38 +0000
[gaim-migrate @ 11531]
Attempt to fix a pluralization translation problem pointed out
by Danilo Segan.
| 2803 | 1 | #!/usr/bin/perl -w |
| 2 | # licq2gaim.pl | |
| 3 | # | |
| 4 | # Arturo Cisneros, Jr <acjr@hal-pc.org> | |
| 5 | # GPL'd | |
| 6 | ||
| 7 | use strict; | |
| 8 | ||
| 9 | my $DIR = "$ENV{HOME}/.licq"; | |
| 10 | my $GAIM = "$ENV{HOME}/.gaim"; | |
| 11 | my (@UINS, %USERS) = (); | |
| 12 | my $OWNER = ""; | |
| 13 | ||
| 14 | ||
| 15 | get_uins(); | |
| 16 | ||
| 17 | foreach my $uin (@UINS) { | |
| 18 | $USERS{$uin} = get_alias($uin); | |
| 19 | } | |
| 20 | ||
| 21 | get_owner(); | |
| 22 | write_list(); | |
| 23 | ||
| 24 | ||
| 25 | sub get_uins { | |
| 26 | ||
| 27 | opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!"; | |
| 28 | @UINS = grep !/^\./, readdir DIR; | |
| 29 | closedir(DIR); | |
| 30 | } | |
| 31 | ||
| 32 | sub get_owner { | |
| 33 | ||
| 34 | my @foo = (); | |
| 35 | ||
| 36 | open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!"; | |
| 37 | while(<FILE>) { | |
| 38 | next unless /^Uin/; | |
| 39 | @foo = split; | |
| 40 | last; | |
| 41 | } | |
| 42 | close(FILE); | |
| 43 | ||
| 44 | $OWNER = $foo[2]; | |
| 45 | } | |
| 46 | ||
| 47 | sub get_alias { | |
| 48 | ||
| 49 | my @foo = (); | |
| 50 | ||
| 51 | open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!"; | |
| 52 | while(<FILE>) { | |
| 53 | next unless /^Alias/; | |
| 54 | @foo = split / /, $_, 3; | |
| 55 | last; | |
| 56 | } | |
| 57 | close(FILE); | |
| 58 | ||
| 59 | return $foo[2]; | |
| 60 | } | |
| 61 | ||
| 62 | sub write_list { | |
| 63 | ||
| 64 | # Backup Original | |
| 65 | if( -e "$GAIM/$OWNER.3.blist") { | |
| 66 | rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak"); | |
| 67 | } | |
| 68 | ||
| 69 | # Write new file | |
| 70 | open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!"; | |
| 71 | print FILE "m 1\n"; | |
| 72 | print FILE "g ICQBuddies\n"; | |
| 73 | while(my($key, $value) = each %USERS) { | |
| 74 | $key =~ s/\.uin$//; | |
| 75 | print FILE "b $key:$value"; | |
| 76 | } | |
| 77 | close(FILE); | |
| 78 | } |