On Fri, Sep 27, 2013 at 05:50:07AM +0100, Mikolaj Kucharski wrote:
> Hi,
> 
> General improvements of the tool, previous patch integrated upstream:
> 
> http://cpansearch.perl.org/src/XAICRON/WWW-YouTube-Download-0.56/Changes
> 
> new patch for better signatures support.
> 

Unbreak again. This is far from perfect. I'm wondering should I switch
to Python (youtube-dl) and should we drop this port from the tree.
Upstream recently isn't that responsive as well. However, for now, I
would like to get this in.


Index: Makefile
===================================================================
RCS file: /cvs/ports/www/p5-WWW-YouTube-Download/Makefile,v
retrieving revision 1.10
diff -u -r1.10 Makefile
--- Makefile    27 Apr 2013 14:29:08 -0000      1.10
+++ Makefile    3 Oct 2013 21:37:29 -0000
@@ -3,7 +3,7 @@
 COMMENT =      simple YouTube interface for downloading videos
 
 MODULES =      cpan
-DISTNAME =     WWW-YouTube-Download-0.50
+DISTNAME =     WWW-YouTube-Download-0.56
 CATEGORIES =   www
 
 MAINTAINER =   Mikolaj Kucharski <miko...@kucharski.name>
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/p5-WWW-YouTube-Download/distinfo,v
retrieving revision 1.8
diff -u -r1.8 distinfo
--- distinfo    27 Apr 2013 14:29:08 -0000      1.8
+++ distinfo    3 Oct 2013 21:37:29 -0000
@@ -1,2 +1,2 @@
-SHA256 (WWW-YouTube-Download-0.50.tar.gz) = 
n1w2E5c7wSdkGv7eroQcctZCPpXTzS8F9g0wqqYu9yE=
-SIZE (WWW-YouTube-Download-0.50.tar.gz) = 19826
+SHA256 (WWW-YouTube-Download-0.56.tar.gz) = 
C3/97l4cKrT9dY5cdi2q/hd9psBUocUr+sbaxpmAgso=
+SIZE (WWW-YouTube-Download-0.56.tar.gz) = 23453
Index: patches/patch-lib_WWW_YouTube_Download_pm
===================================================================
RCS file: 
/cvs/ports/www/p5-WWW-YouTube-Download/patches/patch-lib_WWW_YouTube_Download_pm,v
retrieving revision 1.5
diff -u -r1.5 patch-lib_WWW_YouTube_Download_pm
--- patches/patch-lib_WWW_YouTube_Download_pm   27 Apr 2013 14:29:09 -0000      
1.5
+++ patches/patch-lib_WWW_YouTube_Download_pm   3 Oct 2013 21:37:29 -0000
@@ -1,15 +1,65 @@
-$OpenBSD: patch-lib_WWW_YouTube_Download_pm,v 1.5 2013/04/27 14:29:09 sthen 
Exp $
+$OpenBSD$
 
-- support one more url type
+- sync with youtube-dl 2013.10.01.1
+- fix for signature 82 based on yt-dl's automatic signatures
 
---- lib/WWW/YouTube/Download.pm.orig   Fri Apr 19 18:50:43 2013
-+++ lib/WWW/YouTube/Download.pm        Sat Apr 27 12:33:16 2013
-@@ -271,7 +271,7 @@ sub _suffix {
+--- lib/WWW/YouTube/Download.pm.orig   Tue Jul 30 08:14:47 2013
++++ lib/WWW/YouTube/Download.pm        Thu Oct  3 22:30:12 2013
+@@ -248,37 +248,36 @@ sub _sigdecode {
+     my @s = @_;
  
- sub _video_id {
-     my $stuff = shift;
--    if ($stuff =~ m{/.*?[?&;!]v=([^&#?=/;]+)}) {
-+    if ($stuff =~ m{/.*?[?&;!](?:v|video_id)=([^&#?=/;]+)}) {
-         return $1;
+     # based on youtube_dl/extractor/youtube.py from yt-dl.org
+-    if (@s == 92) {
+-      return ($s[25], @s[3..24], $s[0], @s[26..41], $s[79], @s[43..78], 
$s[91], @s[80..82]);
++    if (@s == 93) {
++        return (reverse(@s[30..86]), $s[88], reverse(@s[6..28]));
++    } elsif (@s == 92) {
++        return ($s[25], @s[3..24], $s[0], @s[26..41], $s[79], @s[43..78], 
$s[91], @s[80..82]);
++    } elsif (@s == 91) {
++        return (reverse(@s[28..84]), $s[86], reverse(@s[6..26]));
+     } elsif (@s == 90) {
+-      return ($s[25], @s[3..24], $s[2], @s[26..39], $s[77], @s[41..76], 
$s[89], @s[78..80]);
++        return ($s[25], @s[3..24], $s[2], @s[26..39], $s[77], @s[41..76], 
$s[89], @s[78..80]);
++    } elsif (@s == 89) {
++        return (reverse(@s[79..84]), $s[87], reverse(@s[61..77]), $s[0], 
reverse(@s[4..59]));
+     } elsif (@s == 88) {
+-        return ($s[48], reverse(@s[68..81]), $s[82], reverse(@s[63..66]), 
$s[85],
+-                reverse(@s[49..61]), $s[67], reverse(@s[13..47]), $s[3],
+-                reverse(@s[4..11]), $s[2], $s[12]);
++        return (@s[7..27], $s[87], @s[29..44], $s[55], @s[46..54], $s[2], 
@s[56..86], $s[28]);
+     } elsif (@s == 87) {
+-        return (@s[4..22], $s[86], @s[24..84]);
++        return (@s[6..26], $s[4], @s[28..38], $s[27], @s[40..58], $s[2], 
@s[60..86]);
+     } elsif (@s == 86) {
+-        return (@s[2..62], $s[82], @s[64..81], $s[63]);
++        return (reverse(@s[73..80]), $s[16], reverse(@s[40..71]), $s[72], 
reverse(@s[17..38]), $s[82], reverse(@s[0..15]));
+     } elsif (@s == 85) {
+-       return (@s[2..7], $s[0], @s[9..20], $s[65], @s[22..64], $s[84], 
@s[66..81], $s[21]);
++        return (@s[3..10], $s[0], @s[12..54], $s[84], @s[56..83]);
+     } elsif (@s == 84) {
+-        return (reverse(@s[37..83]), $s[2], reverse(@s[27..35]), $s[3],
+-                reverse(@s[4..25]), $s[26]);
++        return (reverse(@s[71..78]), $s[14], reverse(@s[38..69]), $s[70], 
reverse(@s[15..36]), $s[80], reverse(@s[0..13]));
+     } elsif (@s == 83) {
+-        return ($s[6], @s[3..5], $s[33], @s[7..23], $s[0], @s[25..32], 
$s[53], @s[34..52], $s[24], @s[54..82]);
++        return (reverse(@s[64..80]), $s[0], reverse(@s[1..62]), $s[63]);
+     } elsif (@s == 82) {
+-        return ($s[36], reverse(@s[68..79]), $s[81], reverse(@s[41..66]), 
$s[33],
+-                reverse(@s[37..39]), $s[40], $s[35], $s[0], $s[67],
+-                reverse(@s[1..32]), $s[34]);
++        return ($s[12], reverse(@s[13..79]), $s[80], reverse(@s[0..11]));
+     } elsif (@s == 81) {
+-        return ($s[56], reverse(@s[57..79]), $s[41], reverse(@s[42..55]), 
$s[80],
+-              reverse(@s[35..40]), $s[0], reverse(@s[30..33]), $s[34],
+-              reverse(@s[10..28]), $s[29], reverse(@s[1..8]), $s[9]);
++        return ($s[56], reverse(@s[57..79]), $s[41], reverse(@s[42..55]), 
$s[80], reverse(@s[35..40]), $s[0], reverse(@s[30..33]), $s[34], 
reverse(@s[10..28]), $s[29], reverse(@s[1..8]), $s[9]);
++    } elsif (@s == 80) {
++        return (@s[1..18], $s[0], @s[20..67], $s[19], @s[69..79]);
+     } elsif (@s == 79) {
+-        return ($s[54], reverse(@s[55..77]), $s[39], reverse(@s[40..53]), 
$s[78],
+-              reverse(@s[35..38]), $s[0], reverse(@s[30..33]), $s[34],
+-              reverse(@s[10..28]), $s[29], reverse(@s[1..8]), $s[9]);
++        return ($s[54], reverse(@s[55..77]), $s[39], reverse(@s[40..53]), 
$s[78], reverse(@s[35..38]), $s[0], reverse(@s[30..33]), $s[34], 
reverse(@s[10..28]), $s[29], reverse(@s[1..8]), $s[9]);
      }
-     elsif ($stuff =~ m{/(?:e|v|embed)/([^&#?=/;]+)}) {
+ 
+     return ();    # fail


-- 
best regards
q#

Reply via email to