#
# Grabber for german-bash.org
-package iBashGrabber;
+package quotesite::iBashGrabber;
-use GrabberBase;
-@ISA = qw(GrabberBase);
+use quotesite::GrabberBase;
+@ISA = qw(quotesite::GrabberBase);
use LWP::Simple qw(!get);
use HTML::TokeParser;
return $self;
}
+sub __buildquote_line {
+ my $self = shift;
+ my $p = shift;
+ my $t;
+ my $data = '';
+
+ while ($t = $p->get_tag('td', '/tr')) {
+ if ($t->[0] eq '/tr') {
+ return $data;
+ }
+ if (exists($t->[1]->{'colspan'})) {
+ return '';
+ }
+ $data .= $p->get_text('/td')
+ }
+}
+
+
+sub __buildquote_block {
+ my $self = shift;
+ my $p = shift;
+ my $t;
+ my $data;
+
+ while ($t = $p->get_tag('tr','/table')) {
+ if ($t->[0] eq '/table') {
+ return $data;
+ }
+ $data .= $self->__buildquote_line($p) . "\n";
+ }
+}
+
sub _parse {
my $self = shift;
my $url = shift;
while ($t = $p->get_tag('td')) {
if (exists($t->[1]->{'class'}) && ($t->[1]->{'class'} eq 'quote')) {
- $metadata->{'CONTENT'} = $p->get_text('/td');
+ $metadata->{'CONTENT'} = $self->__buildquote_block($p);
Encode::from_to($metadata->{'CONTENT'}, 'iso-8859-1', 'utf8');
}
}