aboutsummaryrefslogtreecommitdiffstats
path: root/utils/create_nicksfile.pl
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-08-22 12:37:49 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-08-22 12:37:49 +0100
commitf29f50ec080cf6b1f4298465faf5e0348386e9be (patch)
treefe793a82124d79ad2ab74ff05830350406774617 /utils/create_nicksfile.pl
parentc00dd7117be2a5fda92d6f7d72b0e4e54fa5d615 (diff)
Cleaning up utils directory, those scripts generate old-style files no longer
supported by BitlBee. Adding a script that converts libpurple configs (generated by stuff like Pidgin, Finch, possibly Adium, maybe other programs that are not BitlBee) into formats understood by BitlBee.
Diffstat (limited to 'utils/create_nicksfile.pl')
-rwxr-xr-xutils/create_nicksfile.pl210
1 files changed, 0 insertions, 210 deletions
diff --git a/utils/create_nicksfile.pl b/utils/create_nicksfile.pl
deleted file mode 100755
index abd6d3d2..00000000
--- a/utils/create_nicksfile.pl
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/usr/bin/perl
-use strict;
-use Getopt::Long;
-
-
-my $conn = undef;
-my %readline_funcs = ( 'licq' => \&import_readline_licq );
-my %open_funcs = ( 'licq' => \&import_open_licq );
-my %close_funcs = ( 'licq' => \&import_close_licq );
-my $funcname = undef;
-my $dirname = undef;
-my $filename = undef;
-my $imported = 0;
-my $not_imported = 0;
-my $debug = 0;
-
-main();
-exit(0);
-
-
-sub main {
- my ($server,$port,$nick,$pass,$func,$dir,$file,$outfile);
- my $dirfile;
- if (($dirfile=pop @ARGV) =~ /^\-/ || !$dirfile) {
- tell_usage();
- exit(0);
- }
- if ($dirfile =~ m|/|) {
- $dirfile =~ m|^(.*)(/.+)$|;
- $dir=$1;
- $file=$2;
- } else {
- $dir=undef;
- $file = $dirfile;
- }
- GetOptions(
- 'from=s', => \$func,
- 'of=s', => \$outfile,
- 'debug', => \$debug
- );
- if (!import_start($func,$dir,$file,$outfile,$debug)) {
- tell_usage();
- }
-}
-
-sub tell_usage {
- print "Usage: create_nicksfile.pl [--from=FROM] [--of=OUTPUTFILE] [--debug] FILENAME\n";
- print " FROM defines which application we import from.\n",
- print " Note that currently the only valid value for FROM is licq.\n";
- print " For further information, you might want to do perldoc create_nicksfile.pl\n";
-}
-
-sub import_start {
- $funcname = (shift) || 'licq';
- $dirname = shift;
- $filename = shift;
- my $outfile = shift || 'bitlbee.nicks';
- $debug = shift;
- my ($alias,$protocol,$name,$found);
- open(OUT,'>'.$outfile) || die "unable to open $outfile";
- if (defined $open_funcs{$funcname}) {
- if (&{$open_funcs{$funcname}}($dirname,$filename)) {
- do {
- ($alias,$protocol,$name,$found)=&{$readline_funcs{$funcname}}();
- print OUT "$alias $protocol $name\n" if $found;
- } while ($found);
- } else {
- import_err('Unable to open '.$filename);
- return 0;
- }
- } else {
- import_err($funcname.' is no defined import function.');
- return 0;
- }
- close OUT;
- &{$close_funcs{$funcname}}();
- return 1;
-}
-
-sub import_err {
- my $msg=shift;
- print "\nError: $msg\n";
-}
-
-sub import_open_licq {
- my ($dir,$name)=@_;
- return open(IN,'<'.$dir.'/users.conf');
-}
-sub import_close_licq {
- close IN;
-}
-sub import_readline_licq {
- my ($uin,$alias);
- my $line;
-GETLINE:
- $line=<IN>;
- if ($line) {
- while ($line && $line !~ /^User\d+/) {
- $line=<IN>;
- }
- if ($line) {
- if ($line =~ /^User\d+\s*=\s*(\d+)(\.Licq)?$/) { # getting UIN
- $uin=$1;
- open(ALIAS,'<'.$dirname.'/users/'.$uin.'.Licq') ||
- open(ALIAS,'<'.$dirname.'/users/'.$uin.'.uin') || do {
- warn "unable to open userfile for $uin";
- return (undef,undef,0);
- };
- while (<ALIAS>) {
- if (/^Alias\s*=\s*(.*)$/) {
- $alias=$1;
- $alias =~ s/\s+/_/g;
- last;
- }
- }
- close ALIAS;
- $imported++;
- return ($uin,3,$alias,1);
- } else {
- warn('Unknown line format: '.$line);
- $not_imported++;
- goto GETLINE; #### grrrr, sometimes there are negative uins in licq files...
- }
- } else {
- return (undef,undef,0);
- }
- } else {
- return undef;
- }
-}
-
-__END__
-
-=head1 NAME
-
-create_nicksfile.pl - Create a valid bitlbee .nicks file
-
-=head1 SYNOPSIS
-
-create_nicksfile.pl [--from=FROM] [--of=OUTPUTFILE] [--debug] FILENAME
-
- FROM defines which application we import from.
- Note that currently the only valid value for FROM
- is licq.
-
- If of is missing, we write to bitlbee.nicks.
-
-=head1 DESCRIPTION
-
-We run thru the
-files where the contacts reside and create
-a bitlbee .nicks-file from them.
-
-=head1 DEPENDENCIES
-
-On the perlside, we need Getopt::Long.
-
-=head1 CAVEATS
-
-=head1 TODO
-
-&import_readline_... should take a filehandle as argument.
-
-Add more import functions. If you are interested,
-to do so, you need to write the following functions:
-
-=over
-
-=item *
-
-import_open_<WHATEVER>(DIR,FILENAME)
-
-=item *
-
-import_close_<WHATEVER>()
-
-=item *
-
-import_readline_<WHATEVER>()
-
-=back
-
-and add them to the hashes
-
-=over
-
-=item *
-
-%readline_funcs
-
-=item *
-
-%open_funcs
-
-=item *
-
-%close_funcs
-
-=back
-
-at the top of this script.
-
-
-=head1 AUTHORS
-
-Christian Friedl <vijeno@chello.at>
-
-Updated for the new Licq list firmat by Hugo Buddelmeijer <kmail@hugo.doemaarwat.nl>
-
-=cut