Mercurial > pidgin.yaz
view licq2gaim.pl @ 8410:3c07b7d0084c
[gaim-migrate @ 9140]
quoth marv:
" This makes joining those chats with the arabic script
in their names actually work, and lets you see people
typing in arabic in UTF-8, instead of parsing it as
ISO-8859-1. It probably fixes similiar problems with
other languages, but the arabic text standed out the
most in the room list.
It's pretty simple, and doesn't change any strings.
It's against yahoochat.c, you'll probably have to patch
the file specificly since I diffed it specificly.
If you need an example to test again, look through the
room list. That's how I noticed this didn't already work."
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Mon, 08 Mar 2004 19:06:17 +0000 |
parents | e967c0d93930 |
children |
line wrap: on
line source
#!/usr/bin/perl -w # licq2gaim.pl # # Arturo Cisneros, Jr <acjr@hal-pc.org> # GPL'd use strict; my $DIR = "$ENV{HOME}/.licq"; my $GAIM = "$ENV{HOME}/.gaim"; my (@UINS, %USERS) = (); my $OWNER = ""; get_uins(); foreach my $uin (@UINS) { $USERS{$uin} = get_alias($uin); } get_owner(); write_list(); sub get_uins { opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!"; @UINS = grep !/^\./, readdir DIR; closedir(DIR); } sub get_owner { my @foo = (); open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!"; while(<FILE>) { next unless /^Uin/; @foo = split; last; } close(FILE); $OWNER = $foo[2]; } sub get_alias { my @foo = (); open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!"; while(<FILE>) { next unless /^Alias/; @foo = split / /, $_, 3; last; } close(FILE); return $foo[2]; } sub write_list { # Backup Original if( -e "$GAIM/$OWNER.3.blist") { rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak"); } # Write new file open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!"; print FILE "m 1\n"; print FILE "g ICQBuddies\n"; while(my($key, $value) = each %USERS) { $key =~ s/\.uin$//; print FILE "b $key:$value"; } close(FILE); }