quotesite: move supported command list into hash
[quotesite.git] / quotesite / TwitterGrabber.pm
index 57e0ec4..ef4887a 100644 (file)
@@ -3,14 +3,15 @@
 #
 # Grabber for twitter
 
-package TwitterGrabber;
+package quotesite::TwitterGrabber;
 
-use GrabberBase;
-@ISA = qw(GrabberBase);
+use quotesite::GrabberBase;
+@ISA = qw(quotesite::GrabberBase);
 
 use LWP::Simple qw(!get);
 use Data::Dumper;
 use XML::Simple;
+use HTML::Entities qw(decode_entities);
 use Encode;
 
 use strict;
@@ -20,7 +21,7 @@ sub new {
     my $self = $class->SUPER::new();
 
     $self->{'NAME'} = 'twitter.com';
-    $self->{'PATTERNS'} = ['(http://twitter.com/[^/]+/status/(\d+))'];
+    $self->{'PATTERNS'} = ['(https?://twitter.com/(?:\#\!/)?[^/]+/status(?:es)?/(\d+))'];
 
     bless($self, $class);
     $self->_prepare_parameters();
@@ -57,7 +58,7 @@ sub _parse {
         return undef;
     }
 
-    $metadata->{'CONTENT'} = $t->{'text'};
+    $metadata->{'CONTENT'} = decode_entities($t->{'text'});
     $metadata->{'ID'} = $t->{'user'}->{'screen_name'} . '/' . $metadata->{'ID'};
 
     unless(defined($metadata->{'CONTENT'})) {