Interneeduses sobrades sattusin poolkogemata lahedale perli skriptile mille abil saab kiirelt ja mugavalt linuxis (tõestatult kubuntus(vb ka mõnes teises OSis millele perl ja mplayer või vlc või xine, valmis nikerdatud on)) ERRi videosid vaadata (täpsemalt viimast kahtekümmet), see skript vajab loomulikult perli, (ubuntulistel sudo apt-get install perl) ja paari libi (sudo apt-get install libcurses-ui-perl libwww-perl) ja mplayerit või vlcd või xinet (apt-get install mplayer).
skripti autori blog: http://kaabel.net/blog/?p=1030
#!/usr/bin/perl
#!/usr/bin/perl
# err-player.pl
# Sun Apr 03 11:59:17 2010
# jolttz{ät}gmail{dot}com
# Distributed under the terms of
# the GNU General Public License
#
use LWP::UserAgent;
use Curses::UI;
use strict;
use warnings;
my $url = "http://uudised.err.ee/index.php?0534915";
my @values = (1 .. 20);
my @parsed_links = 0;
my @stream_links = 0;
my $listbox = 0;
my %titles = ();
my $prog = 0;
my $jr = 0;
my $link;
my $cui = Curses::UI->new(
-clear_on_exit => 1,
-color_support => 1
);
my $win = $cui->add(
'window_id', 'Window',
-border => 1,
);
$cui->progress(
-max => 20,
-message => "Laen, palun oota...",
);
$cui->set_binding(sub {exit(0)}, "q");
$cui->set_binding(\&load_data, "r");
&load_data;
$listbox = $win->add(
'mylistbox', 'Listbox',
-values => [ @values ],
-labels => { %titles },
-multi => 1,
-onchange => \&open_video
);
$listbox->focus();
$cui->mainloop;
sub open_video {
system("mplayer ". $stream_links[$listbox->get_active_id()+1]. " >> /dev/null 2>&1 &");
}
sub load_data {
@parsed_links = 0;
@stream_links = 0;
$listbox = 0;
%titles = ();
$prog = 0;
$jr = 0;
my $content = get_content($url);
my @content_lines = split /\n/, $content;
foreach my $line (@content_lines) {
if ($line =~ /id=(\d+)/i) {
$link = parse($1);
push(@parsed_links, $link);
$cui->setprogress($prog++);
}
}
$cui->reset_curses;
}
sub get_content {
my $url = shift;
my $ua = LWP::UserAgent->new(
agent => "ERR Parser"
);
my $result = $ua->get($url);
my $content = $result->content if $result->is_success;
return $content;
}
sub parse {
my $id = shift;
my $url = "http://uudised.err.ee/index.php?0&popup=video&id=". $id;
my $content = get_content($url);
if ($content =~ "<title>(.*)</title>") {
$jr++;
$titles{ $jr } = $1;
}
if ($content =~ "filename=\".+(wms02.mmm.elion.ee/uudised/.+)\"") {
push(@stream_links, "mmsh://$1");
return $1;
}
}
totem ja totem-mozilla pakettide komboga peaks saama ka neid err videosid mozilla brauserites vaadata.
Põhimõtteliselt soovitaksin selle inimese kes otsustas, et ERR peaks kasutama silverlighti, kiiremas korras vallandada – ta on idioot. Ja mina kui ERRi osanik leian, et selliste töötajate tegevus kahjustab osanike huve.
