1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/perl
use strict;
use CGI qw(:standard);
use CGI::Carp 'fatalsToBrowser';
use URI::Escape;
print header;
print start_html('nzbget status');
use XML::Parser;
use XML::SimpleObject;
print CGI::start_table();
print CGI::start_form(-action=>'/cgi-bin/nzbget/search.pl');
print table(
Tr(td(['Search',textfield('q'),])),
Tr(td(['min Size',textfield('minsize')])),
Tr(td(['max Size',textfield('maxsize').hidden('more',1)])),
Tr(td(['results',CGI::popup_menu(
-name => 'max',
-values => ['25','100','500'],
-default => '25',
-labels => {25=>'25',100=>'100',500=>500}
) ])),
Tr(td([submit()])),
);
print CGI::end_form;
if (param())
{
my $request='';
for my $key (param) {
$request.= "$key=".param($key).'&';
}
$request =~ s/\&$//;
use LWP::Simple;
my $feed = get('http://nzbindex.com/rss/?'.$request);
die "Couldn't get connect to search site" unless defined $feed;
my $p1 = new XML::Parser(Style => 'Tree');
my $xso = XML::SimpleObject->new($p1->parse($feed));
my $i=0;
if ($xso->child('rss')->child('channel'))
{
print CGI::start_table();
foreach my $item ($xso->child('rss')->child('channel')->children('item')) {
next if not $item;
$i++;
my $title = $item->child('title')->value;
my $description = $item->child('description')->value;
my $nzburl = $item->child('enclosure')->attribute("url");
print Tr(td([
a({href=>"./enqueue.pl?url=".uri_escape($nzburl)."&name=".uri_escape(param('q'))},$title).' '.
a({href=>"./enqueue.pl?url=".uri_escape($nzburl)."&name=".uri_escape(param('q'))."&cat=music"},'Music').
$description]));
}
print CGI::end_table();
}
print hr().'nothing found' if not $i;
}
print end_html;
|