ERR videote vaatamise skript

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.

About morkiel

tulin, nägin, mõtlesin. View all posts by morkiel

Lisa kommentaar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Muuda )

Twitter picture

You are commenting using your Twitter account. Log Out / Muuda )

Facebook photo

You are commenting using your Facebook account. Log Out / Muuda )

Connecting to %s

Follow

Get every new post delivered to your Inbox.