licq2gaim.pl

Mon, 06 Dec 2004 01:03:38 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Mon, 06 Dec 2004 01:03:38 +0000
changeset 10324
3278c5d77bd8
parent 2803
ffd6dfe6e869
permissions
-rwxr-xr-x

[gaim-migrate @ 11531]
Attempt to fix a pluralization translation problem pointed out
by Danilo Segan.

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

mercurial