view licq2gaim.pl @ 7988:d9e831876c28

[gaim-migrate @ 8665] Here's my best attempt to rip WYSIWYG editing out of gaim, kicking and screaming all the way. We'll be releasing 0.75 in the very near future, once the translators are alerted, and any bugs from this dissection show themselves. committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Sun, 04 Jan 2004 06:59:09 +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);
}