From 80eb37ffb4b6531d3f5f193336e739a085c9523b Mon Sep 17 00:00:00 2001 From: Tom Feist Date: Sat, 23 Apr 2011 14:19:57 +0100 Subject: added scriptassist/scriptassist, beginning to modernise it a bit. --- feature-tests/var-modifiers.pl | 96 ++++ scriptassist/scriptassist.pl | 1163 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1259 insertions(+) create mode 100644 feature-tests/var-modifiers.pl create mode 100644 scriptassist/scriptassist.pl diff --git a/feature-tests/var-modifiers.pl b/feature-tests/var-modifiers.pl new file mode 100644 index 0000000..77bd6d8 --- /dev/null +++ b/feature-tests/var-modifiers.pl @@ -0,0 +1,96 @@ +=pod + +=head1 NAME + +template.pl + +=head1 DESCRIPTION + +A minimalist template useful for basing actual scripts on. + +=head1 INSTALLATION + +Copy into your F<~/.irssi/scripts/> directory and load with +C>. + +=head1 USAGE + +None, since it doesn't actually do anything. + +=head1 AUTHORS + +Copyright E 2011 Tom Feist Cshabble+irssi@metavore.orgE> + +=head1 LICENCE + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +=head1 BUGS + +=head1 TODO + +Use this template to make an actual script. + +=cut + +use strict; +use warnings; + +use Irssi; +use Irssi::Irc; +use Irssi::TextUI; + +use Data::Dumper; + +our $VERSION = '0.1'; +our %IRSSI = ( + authors => 'shabble', + contact => 'shabble+irssi@metavore.org', + name => '', + description => '', + license => 'MIT', + updated => '$DATE' + ); + +Irssi::expando_create('test_one' => \&test_exp_two, {}); +Irssi::expando_create('test_two' => \&test_exp_one, {}); + +sub test_exp_one { + return 'This is test one'; +} + +sub test_exp_two { + return Irssi::parse_special('%_This%_ is %gtest%n two'); +} + +my @tests; + +push @tests, '$test_one'; +push @tests, 'xx${test_one}xx'; +push @tests, '$[6]{test_one}'; + +push @tests, '$test_two'; +push @tests, '$[3]test_two'; +push @tests, '$[7]{test_two}XXX'; + +Irssi::command("/clear"); + +foreach my $t (@tests) { + Irssi::command("/eval /echo $t"); +} diff --git a/scriptassist/scriptassist.pl b/scriptassist/scriptassist.pl new file mode 100644 index 0000000..30e3078 --- /dev/null +++ b/scriptassist/scriptassist.pl @@ -0,0 +1,1163 @@ +# by Stefan "tommie" Tomanek +# +# scriptassist.pl + +use strict; +use warnings; + +use Irssi 20020324; + +use Data::Dumper; +use LWP::UserAgent; +use POSIX; + +our $VERSION = '2003020803'; +our %IRSSI = ( + authors => 'Stefan \'tommie\' Tomanek', + contact => 'stefan@pico.ruhr.de', + name => 'scriptassist', + description => 'keeps your scripts on the cutting edge', + license => 'GPLv2', + url => 'http://irssi.org/scripts/', + changed => $VERSION, + modules => 'Data::Dumper LWP::UserAgent (GnuPG)', + commands => "scriptassist" + ); + +#use vars qw($forked %remote_db $have_gpg); +our ($forked, %remote_db, @complist); + + +# GnuPG is not always needed +our $have_gpg = 0; +eval { require GnuPG; + GnuPG->import( qw/:algo :trust/ ); + }; +$have_gpg = 1 unless $@; + +sub show_help { + my $help = "scriptassist $VERSION +/scriptassist check + Check all loaded scripts for new available versions +/scriptassist update + Update the selected or all script to the newest version +/scriptassist search + Search the script database +/scriptassist info + Display information about +/scriptassist ratings + Retrieve the average ratings of the the scripts +/scriptassist top + Retrieve the first top rated scripts +/scriptassist new + Display the newest scripts +/scriptassist rate