licq2gaim.pl

Tue, 03 Feb 2004 06:55:59 +0000

author
Alex Smith <madalex@users.sourceforge.net>
date
Tue, 03 Feb 2004 06:55:59 +0000
changeset 8203
23f66d41ff8c
parent 2803
ffd6dfe6e869
permissions
-rwxr-xr-x

[gaim-migrate @ 8926]
From Alex Smith (madalex):
"In the Buddy List if you turn on 'Show Offline Buddies' then empty
groups are shown regardless of the setting of 'Show Empty Groups'.
This patch for gtkblist.c should fix this. It is a very straightforward
change."

committer: Mark Doliner <markdoliner@pidgin.im>

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