view gaim2blt.pl @ 10003:33431f91e4a8

[gaim-migrate @ 10920] (21:42:10) JBSilvest: see away msg :) (21:42:29) Luke: awesome (21:42:47) JBSilvest: it could probably use a glance at by a second pair of eyes, but it works (21:43:02) JBSilvest: oh, i should do the obligatory thing, shouldn't i? (21:43:15) JBSilvest: [^H] (21:43:31) JBSilvest: Hello World (21:43:53) JBSilvest: [john@tux-laptop gaim]$ gaim-remote send -t lschiere -f JBSilvest -p prpl-oscar -m "Hello World" (21:44:27) JBSilvest: i shain't think there are any memleak risks or other baddies, but i won't profess to being a highly skilled C programmer (21:45:06) Luke: so is it ready? (21:45:16) JBSilvest: more or less (21:45:26) JBSilvest: could use more strings/docs, but it definitely works (21:47:51) JBSilvest: someone will no doubt bitch & moan about 9999-char limit, but until someone can recommend a better way || i redo the whole sys., that'll be it (21:49:13) JBSilvest: *and* thinking about things, there is blessedly no risk of remote buffer overflow or any such crap :-D (21:49:21) JBSilvest: it has to be run by the user :) (21:49:25) Luke: okay, so this patch does what now? it lets you send and not just put text in the input widget and what else? (21:49:40) Luke: or the web browser (21:49:42) JBSilvest: it lets you send...period :) (21:49:52) JBSilvest: from the command line/scripts (21:49:56) Luke: for instance if you made gaim-remote your handler for aim: uris (21:50:02) JBSilvest: no (21:50:06) JBSilvest: that's not what this does (21:50:12) JBSilvest: it doesn't parse aim:uris (21:50:16) Luke: ah (21:50:17) JBSilvest: it's for sending messages themselves committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Fri, 10 Sep 2004 01:51:02 +0000
parents 66bf7ecefedd
children
line wrap: on
line source

#!/usr/bin/perl -w
# Original by Andy Harrison,
# Rewrite by Decklin Foster,
# Available under the GPL.

package Gaim2Blt;
use strict;
use Getopt::Std;
use vars qw(%opts $in_group);

getopts('s:', \%opts);
die "usage: $0 -s 'screen name' gaim.buddy\n" unless $opts{s};

print <<"EOF";
Config {
  version 1
}
User {
  screenname "$opts{s}"
}
Buddy {
  list {
EOF

while (<>) {
    chomp;
    my ($type, $args) = split ' ', $_, 2;
    next unless $type;

    if ($type eq 'g') {
        print "    }\n" if ($in_group);
        print qq(    "$args" {\n);
        $in_group = 1;
    } elsif ($type eq 'b') {
        my ($buddy, $alias) = split /:/, $args;
        print qq(      "$buddy"\n);
    }
}

print <<"EOF";
    }
  }
}
EOF