cosmetic updates
[videosite.git] / videosite / YouTubeGrabber.pm
index 6551f7a..174f76d 100644 (file)
@@ -6,10 +6,10 @@
 # download strategy revised using
 # http://www.kde-apps.org/content/show.php?content=41456
 
-package YouTubeGrabber;
+package videosite::YouTubeGrabber;
 
-use GrabberBase;
-@ISA = qw(GrabberBase);
+use videosite::GrabberBase;
+@ISA = qw(videosite::GrabberBase);
 
 use LWP::UserAgent;
 use HTTP::Cookies;
@@ -25,7 +25,14 @@ sub new {
     $self->{'NAME'} = 'youtube';
     $self->{'PATTERNS'} = ['(http://(?:[-a-zA-Z0-9_.]+\.)*youtube.(?:com|de|co.uk)/watch\?(?:.+=.+&)*v=([-a-zA-Z0-9_]+))',
                            '(http://(?:[-a-zA-Z0-9_.]+\.)*youtube.(?:com|de|co.uk)/v/([-a-zA-Z0-9_]+))'];
-    $self->{'_PARAMS'} = {'QUALITY' => ['normal', 'Quality of the video to download. normal = standard resolution flash video, high = higher resolution flash video, h264 = high resolution MPEG4 video'], 'USERNAME' => ['', 'Username to use for YouTube login'], 'PASSWORD' => ['', 'Password to use for YouTube login']};
+    $self->{'_PARAMS'} = {
+            'QUALITY' => ['normal', 'Quality of the video to download.', {
+                    'normal' => 'standard resolution flash video',
+                    'high' => 'higher resolution flash video',
+                    'h264' => 'high resolution MPEG4 video',
+                    'hd' => 'HD720 resolution'}],
+            'USERNAME' => ['', 'Username to use for YouTube login'],
+            'PASSWORD' => ['', 'Password to use for YouTube login']};
 
     bless($self, $class);
     $self->_prepare_parameters();
@@ -63,6 +70,8 @@ sub _parse {
         $append = '&fmt=6';
     } elsif ($quality eq 'h264') {
         $append = '&fmt=18';
+    } elsif ($quality eq 'hd') {
+        $append = '&fmt=22';
     }
 
     $videourl = sprintf('http://www.youtube.com/watch?v=%s%s', $2, $append);