+++ /dev/null
-#!/usr/pkg/bin/perl
-#
-# $Id: porthu-irssi.pl,v 1.7 2003/06/14 21:14:46 bigmac Exp $
-#
-# Irssi Client for PORT.HU
-# Copyright (C) 2003, Gabor Nyeki (bigmac@home.sirklabs.hu).
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. Neither the name of the author nor the names of its contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-use strict;
-use Irssi;
-use Irssi::Irc;
-use IO::Socket;
-
-use vars qw($VERSION %IRSSI);
-use vars %IRSSI;
-%IRSSI = (
- authors => "Gabor Nyeki",
- contact => "bigmac\@home.sirklabs.hu",
- name => "tvmusor",
- description => "asks for the current tv-lineup from http://www.port.hu/",
- license => "BSDL",
- changed => "Tue Jun 3 18:48:02 CEST 2003"
-);
-
-my %chans = (
- m1 => "1",
- m2 => "2",
- dunatv => "6",
- tv2 => "3",
- rtlklub => "5",
- viasat3 => "21",
- fixtv => "96",
- spektrum => "9",
- hbo => "8",
- atv => "15"
-);
-
-
-sub tvmusor {
- my ($args) = @_;
-
- split / /, $args;
- my $chan = @_[0];
- my $list = @_[1];
-
- if (!$chan) {
- Irssi::print "Hasznalat: /tvmusor list|csatorna [lista hossza]";
- return;
- }
- if ($chan eq "list") {
- Irssi::print "Elerheto csatornak listaja:";
- foreach my $buf (sort(keys %chans)) {
- Irssi::print "-> $buf";
- }
- return;
- }
-
- if (!$chans{$chan}) {
- Irssi::print "$chan nem letezik!";
- return;
- }
-
- my $num;
- if (!$list) {
- $num = 5;
- } else {
- $num = $list;
- }
-
-
- my $sd = IO::Socket::INET->new(Proto => "tcp",
- PeerAddr => "www.port.hu",
- PeerPort => "80") or die;
- print $sd "GET /pls/tv/tv.prog?i_days=1&i_ch=$chans{$chan}&i_ch_nr=1 HTTP/1.0\n";
- print $sd "Host: www.port.hu\n";
- print $sd "User-Agent: Irssi\n";
- print $sd "\n";
-
- Irssi::print "$chan:";
-
- my $i = 0;
- my ($x, $y);
- while (<$sd>) {
- if ($_ =~ /<tr><td align="right" valign="top" bgcolor="/) {
- split /<strong>/, $_;
-
- if (@_[1] =~ /<blink>(.*)<\/blink>/) {
- $i = 1;
- $x = $1;
- } else {
- if ($i) {
- $i++;
- }
- @_[1] =~ /(.*)<\/strong>/;
- $x = $1;
- }
-
- if ($i eq 0) {
- next;
- }
-
- @_[2] =~ /(.*)<\/strong>/;
- $y = $1;
-
- Irssi::print "-> [$x] $y";
- if ($i eq $num) {
- last;
- }
- }
- }
-
- close $sd;
-
- if ($i ne $num) {
- Irssi::print "-> --- nincs tobb ---";
- }
-}
-
-Irssi::command_bind('tvmusor', 'tvmusor');