YouTube: Clean up video format printing code
authorRalf Ertzinger <ralf@skytale.net>
Mon, 12 Jul 2010 13:01:06 +0000 (15:01 +0200)
committerRalf Ertzinger <ralf@skytale.net>
Mon, 12 Jul 2010 13:01:06 +0000 (15:01 +0200)
videosite/YouTubeGrabber.pm

index a7157f5..b489130 100644 (file)
@@ -66,6 +66,15 @@ sub _parse {
         'h264' => [18, 34, 37, 22, 35, 6, 5, 38],
         'high' => [34, 35, 18, 37, 22, 6, 5, 38],
         'normal' => [6, 5, 34, 35, 18, 22, 37, 38]);
+    my %videoformats = (
+        38 => 'mp4,h264,4k',
+        37 => 'mp4,h264,1080p',
+        35 => 'flv,h264,large',
+        34 => 'flv,h264',
+        22 => 'mp4,h264,720p',
+        18 => 'mp4,h264',
+        5 => 'flv,flv',
+        );
     my $preflist;
     my $jsp;
 
@@ -186,22 +195,10 @@ sub _parse {
 
             if (%urls) {
                 foreach (keys(%urls)) {
-                    if ($_ == 35) {
-                        $self->debug('Found flv,h264,large: %s', $urls{$_});
-                    } elsif ($_ == 34) {
-                        $self->debug('Found flv,h264: %s', $urls{$_});
-                    } elsif ($_ == 22) {
-                        $self->debug('Found mp4,h264,720p: %s', $urls{$_});
-                    } elsif ($_ == 38) {
-                        $self->debug('Found mp4,h264,4k: %s', $urls{$_});
-                    } elsif ($_ == 37) {
-                        $self->debug('Found mp4,h264,1080p: %s', $urls{$_});
-                    } elsif ($_ == 18) {
-                        $self->debug('Found mp4,h264: %s', $urls{$_});
-                    } elsif ($_ == 5) {
-                        $self->debug('Found flv,flv: %s', $urls{$_});
+                    if (exists($videoformats{$_})) {
+                        $self->debug('Found URL for format %s (%s): %s', $_, $videoformats{$_}, $urls{$_});
                     } else {
-                        $self->error('Unknown tag %s: %s', $_, $urls{$_});
+                        $self->error('Unknown format %s: %s', $_, $urls{$_});
                     }
                 }