Revision: 5303
Author: pebender
Date: Sat Aug 15 11:31:46 2009
Log: - Patched Apple trailers parser so that it lists each trailer  
resolution.


http://code.google.com/p/minimyth/source/detail?r=5303

Added:
   
/trunk/gar-minimyth/script/myth-0.20/mythstream/files/mythstream-v0.18_1-apple_parser_resolutions.patch
   
/trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/files/mythstream-v0.18_1-apple_parser_resolutions.patch
   
/trunk/gar-minimyth/script/myth-0.21/mythstream/files/mythstream-v0.18_1-apple_parser_resolutions.patch
   
/trunk/gar-minimyth/script/myth-trunk/mythstream/files/mythstream-0.18_qt4-apple_parser_resolutions.patch
Modified:
  /trunk/gar-minimyth/html/minimyth/document-changelog.txt
  /trunk/gar-minimyth/script/myth-0.20/mythstream/Makefile
  /trunk/gar-minimyth/script/myth-0.20/mythstream/checksums
  /trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/Makefile
  /trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/checksums
  /trunk/gar-minimyth/script/myth-0.21/mythstream/Makefile
  /trunk/gar-minimyth/script/myth-0.21/mythstream/checksums
  /trunk/gar-minimyth/script/myth-trunk/mythstream/Makefile
  /trunk/gar-minimyth/script/myth-trunk/mythstream/checksums

=======================================
--- /dev/null
+++  
/trunk/gar-minimyth/script/myth-0.20/mythstream/files/mythstream-v0.18_1-apple_parser_resolutions.patch
  
Sat Aug 15 11:31:46 2009
@@ -0,0 +1,73 @@
+diff -Naur mythstream-0.18_1-old/parsers/apple.pl  
mythstream-0.18_1-new/parsers/apple.pl
+--- mythstream-0.18_1-old/parsers/apple.pl     2009-08-15 11:21:14.000000000  
-0700
++++ mythstream-0.18_1-new/parsers/apple.pl     2009-08-15 11:23:39.000000000  
-0700
+@@ -102,17 +102,15 @@
+       my $TRAILERS_URL_XQL    
= 'VBoxView/MatrixView/VBoxView/HBoxView/TextView/GotoURL';
+       my $TRAILERS_TITLE_XQL = 'SetFontStyle/B/textNode()[0]';
+
+-      trailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
++      getTrailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
+ }
+   elsif($command eq 'trailer')
+ {
+-   # en met bot geweld...
+-      ($url) = $response->content =~  
/<key>previewURL<\/key><string>(.*?)<\/string>/;
+-      ($name) = $response->content =~  
/<key>playlistName<\/key><string>(.*?)<\/string>/;
+-
+-   newItem(   name => $name,
+-                              url => $url,
+-                              handler => '');
++      my $TRAILER_XQL = '/Document/TrackList/plist/dict/array/dict';
++      my $TRAILER_URL_KEY = 'previewURL';
++      my $TRAILER_TITLE_KEY = 'playlistName';
++
++      getTrailer($maindoc, $TRAILER_XQL, $TRAILER_TITLE_KEY, 
$TRAILER_URL_KEY);
+ }
+
+ print $output_head->toString;
+@@ -135,7 +133,7 @@
+       }
+ }
+
+-sub trailers
++sub getTrailers
+ {
+       my $doc = shift;
+       my $root_xql = shift;
+@@ -158,6 +156,36 @@
+       }
+ }
+
++sub getTrailer
++{
++      my $doc = shift;
++      my $root_xql = shift;
++      my $title_key = shift;
++      my $url_key = shift;
++
++      foreach my $instance ($doc->xql($root_xql))
++      {
++              my $string = $instance->toString();
++              my ($title) = $string =~  
/<key>$title_key<\/key><string>(.*?)<\/string>/;
++              my ($url)   = $string =~ 
/<key>$url_key<\/key><string>(.*?)<\/string>/;
++              if (($title) && ($url))
++              {
++                      my ($type) = $url =~ /^.*\.([^.]+)/;
++                      if (($type) && ($type =~ /^mov$/))
++                      {
++                              my ($resolution) = $url =~ 
/^.*_([^_.]+)\.[^_.]+/;
++                              if ($resolution)
++                              {
++                                      $title = $title . ' (' . $resolution . 
')';
++                              }
++                              newItem(        name => $title,
++                                              url => $url,
++                                              handler => '');
++                      }
++              }
++      }
++}
++
+ sub trimText
+ {
+       my $text = shift;
=======================================
--- /dev/null
+++  
/trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/files/mythstream-v0.18_1-apple_parser_resolutions.patch
  
Sat Aug 15 11:31:46 2009
@@ -0,0 +1,73 @@
+diff -Naur mythstream-0.18_1-old/parsers/apple.pl  
mythstream-0.18_1-new/parsers/apple.pl
+--- mythstream-0.18_1-old/parsers/apple.pl     2009-08-15 11:21:14.000000000  
-0700
++++ mythstream-0.18_1-new/parsers/apple.pl     2009-08-15 11:23:39.000000000  
-0700
+@@ -102,17 +102,15 @@
+       my $TRAILERS_URL_XQL    
= 'VBoxView/MatrixView/VBoxView/HBoxView/TextView/GotoURL';
+       my $TRAILERS_TITLE_XQL = 'SetFontStyle/B/textNode()[0]';
+
+-      trailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
++      getTrailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
+ }
+   elsif($command eq 'trailer')
+ {
+-   # en met bot geweld...
+-      ($url) = $response->content =~  
/<key>previewURL<\/key><string>(.*?)<\/string>/;
+-      ($name) = $response->content =~  
/<key>playlistName<\/key><string>(.*?)<\/string>/;
+-
+-   newItem(   name => $name,
+-                              url => $url,
+-                              handler => '');
++      my $TRAILER_XQL = '/Document/TrackList/plist/dict/array/dict';
++      my $TRAILER_URL_KEY = 'previewURL';
++      my $TRAILER_TITLE_KEY = 'playlistName';
++
++      getTrailer($maindoc, $TRAILER_XQL, $TRAILER_TITLE_KEY, 
$TRAILER_URL_KEY);
+ }
+
+ print $output_head->toString;
+@@ -135,7 +133,7 @@
+       }
+ }
+
+-sub trailers
++sub getTrailers
+ {
+       my $doc = shift;
+       my $root_xql = shift;
+@@ -158,6 +156,36 @@
+       }
+ }
+
++sub getTrailer
++{
++      my $doc = shift;
++      my $root_xql = shift;
++      my $title_key = shift;
++      my $url_key = shift;
++
++      foreach my $instance ($doc->xql($root_xql))
++      {
++              my $string = $instance->toString();
++              my ($title) = $string =~  
/<key>$title_key<\/key><string>(.*?)<\/string>/;
++              my ($url)   = $string =~ 
/<key>$url_key<\/key><string>(.*?)<\/string>/;
++              if (($title) && ($url))
++              {
++                      my ($type) = $url =~ /^.*\.([^.]+)/;
++                      if (($type) && ($type =~ /^mov$/))
++                      {
++                              my ($resolution) = $url =~ 
/^.*_([^_.]+)\.[^_.]+/;
++                              if ($resolution)
++                              {
++                                      $title = $title . ' (' . $resolution . 
')';
++                              }
++                              newItem(        name => $title,
++                                              url => $url,
++                                              handler => '');
++                      }
++              }
++      }
++}
++
+ sub trimText
+ {
+       my $text = shift;
=======================================
--- /dev/null
+++  
/trunk/gar-minimyth/script/myth-0.21/mythstream/files/mythstream-v0.18_1-apple_parser_resolutions.patch
  
Sat Aug 15 11:31:46 2009
@@ -0,0 +1,73 @@
+diff -Naur mythstream-0.18_1-old/parsers/apple.pl  
mythstream-0.18_1-new/parsers/apple.pl
+--- mythstream-0.18_1-old/parsers/apple.pl     2009-08-15 11:21:14.000000000  
-0700
++++ mythstream-0.18_1-new/parsers/apple.pl     2009-08-15 11:23:39.000000000  
-0700
+@@ -102,17 +102,15 @@
+       my $TRAILERS_URL_XQL    
= 'VBoxView/MatrixView/VBoxView/HBoxView/TextView/GotoURL';
+       my $TRAILERS_TITLE_XQL = 'SetFontStyle/B/textNode()[0]';
+
+-      trailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
++      getTrailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
+ }
+   elsif($command eq 'trailer')
+ {
+-   # en met bot geweld...
+-      ($url) = $response->content =~  
/<key>previewURL<\/key><string>(.*?)<\/string>/;
+-      ($name) = $response->content =~  
/<key>playlistName<\/key><string>(.*?)<\/string>/;
+-
+-   newItem(   name => $name,
+-                              url => $url,
+-                              handler => '');
++      my $TRAILER_XQL = '/Document/TrackList/plist/dict/array/dict';
++      my $TRAILER_URL_KEY = 'previewURL';
++      my $TRAILER_TITLE_KEY = 'playlistName';
++
++      getTrailer($maindoc, $TRAILER_XQL, $TRAILER_TITLE_KEY, 
$TRAILER_URL_KEY);
+ }
+
+ print $output_head->toString;
+@@ -135,7 +133,7 @@
+       }
+ }
+
+-sub trailers
++sub getTrailers
+ {
+       my $doc = shift;
+       my $root_xql = shift;
+@@ -158,6 +156,36 @@
+       }
+ }
+
++sub getTrailer
++{
++      my $doc = shift;
++      my $root_xql = shift;
++      my $title_key = shift;
++      my $url_key = shift;
++
++      foreach my $instance ($doc->xql($root_xql))
++      {
++              my $string = $instance->toString();
++              my ($title) = $string =~  
/<key>$title_key<\/key><string>(.*?)<\/string>/;
++              my ($url)   = $string =~ 
/<key>$url_key<\/key><string>(.*?)<\/string>/;
++              if (($title) && ($url))
++              {
++                      my ($type) = $url =~ /^.*\.([^.]+)/;
++                      if (($type) && ($type =~ /^mov$/))
++                      {
++                              my ($resolution) = $url =~ 
/^.*_([^_.]+)\.[^_.]+/;
++                              if ($resolution)
++                              {
++                                      $title = $title . ' (' . $resolution . 
')';
++                              }
++                              newItem(        name => $title,
++                                              url => $url,
++                                              handler => '');
++                      }
++              }
++      }
++}
++
+ sub trimText
+ {
+       my $text = shift;
=======================================
--- /dev/null
+++  
/trunk/gar-minimyth/script/myth-trunk/mythstream/files/mythstream-0.18_qt4-apple_parser_resolutions.patch
        
Sat Aug 15 11:31:46 2009
@@ -0,0 +1,73 @@
+diff -Naur mythstream-0.18_qt4-old/parsers/apple.pl  
mythstream-0.18_qt4-new/parsers/apple.pl
+--- mythstream-0.18_qt4-old/parsers/apple.pl   2009-08-15 11:26:43.000000000  
-0700
++++ mythstream-0.18_qt4-new/parsers/apple.pl   2009-08-15 11:27:27.000000000  
-0700
+@@ -102,17 +102,15 @@
+       my $TRAILERS_URL_XQL    
= 'VBoxView/MatrixView/VBoxView/HBoxView/TextView/GotoURL';
+       my $TRAILERS_TITLE_XQL = 'SetFontStyle/B/textNode()[0]';
+
+-      trailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
++      getTrailers($maindoc, $TRAILERS_XQL, $TRAILERS_TITLE_XQL, '',  
$TRAILERS_URL_XQL);
+ }
+   elsif($command eq 'trailer')
+ {
+-   # en met bot geweld...
+-      ($url) = $response->content =~  
/<key>previewURL<\/key><string>(.*?)<\/string>/;
+-      ($name) = $response->content =~  
/<key>playlistName<\/key><string>(.*?)<\/string>/;
+-
+-   newItem(   name => $name,
+-                              url => $url,
+-                              handler => '');
++      my $TRAILER_XQL = '/Document/TrackList/plist/dict/array/dict';
++      my $TRAILER_URL_KEY = 'previewURL';
++      my $TRAILER_TITLE_KEY = 'playlistName';
++
++      getTrailer($maindoc, $TRAILER_XQL, $TRAILER_TITLE_KEY, 
$TRAILER_URL_KEY);
+ }
+
+ print $output_head->toString;
+@@ -135,7 +133,7 @@
+       }
+ }
+
+-sub trailers
++sub getTrailers
+ {
+       my $doc = shift;
+       my $root_xql = shift;
+@@ -158,6 +156,36 @@
+       }
+ }
+
++sub getTrailer
++{
++      my $doc = shift;
++      my $root_xql = shift;
++      my $title_key = shift;
++      my $url_key = shift;
++
++      foreach my $instance ($doc->xql($root_xql))
++      {
++              my $string = $instance->toString();
++              my ($title) = $string =~  
/<key>$title_key<\/key><string>(.*?)<\/string>/;
++              my ($url)   = $string =~ 
/<key>$url_key<\/key><string>(.*?)<\/string>/;
++              if (($title) && ($url))
++              {
++                      my ($type) = $url =~ /^.*\.([^.]+)/;
++                      if (($type) && ($type =~ /^mov$/))
++                      {
++                              my ($resolution) = $url =~ 
/^.*_([^_.]+)\.[^_.]+/;
++                              if ($resolution)
++                              {
++                                      $title = $title . ' (' . $resolution . 
')';
++                              }
++                              newItem(        name => $title,
++                                              url => $url,
++                                              handler => '');
++                      }
++              }
++      }
++}
++
+ sub trimText
+ {
+       my $text = shift;
=======================================
--- /trunk/gar-minimyth/html/minimyth/document-changelog.txt    Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/html/minimyth/document-changelog.txt    Sat Aug 15  
11:31:46 2009
@@ -14,6 +14,7 @@
  Modified MythStream
      - Patched MythStream's paint routines in an attempt to minimize GUI
        flickering.
+    - Patched Apple trailers parser so that it lists each trailer  
resolution.

  Fixed bugs
      - Patched MythStream in MythTV trunk so that it uses QX11Info::display
=======================================
--- /trunk/gar-minimyth/script/myth-0.20/mythstream/Makefile    Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-0.20/mythstream/Makefile    Sat Aug 15  
11:31:46 2009
@@ -12,6 +12,7 @@
        $(DISTNAME)-qt_paintevent_fix.patch \
        $(DISTNAME)-qt_bitblt_replace.patch \
        $(DISTNAME)-apple_parser_fix.patch \
+       $(DISTNAME)-apple_parser_resolutions.patch \
        $(DISTNAME)-youtube_parser_fix.patch \
        $(DISTNAME)-fftw3f.patch \
        $(DISTNAME).patch.gar
=======================================
--- /trunk/gar-minimyth/script/myth-0.20/mythstream/checksums   Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-0.20/mythstream/checksums   Sat Aug 15  
11:31:46 2009
@@ -6,6 +6,7 @@
  a9b7b6d73e8a14c0d947a5f2eade0d7a   
download/mythstream-v0.18_1-qt_paintevent_fix.patch
  5cea7a910ab761d4c9cf26dcbb07101e   
download/mythstream-v0.18_1-qt_bitblt_replace.patch
  a2c9fab7ae7ecd8dc5f89fee79d6adb1   
download/mythstream-v0.18_1-apple_parser_fix.patch
+c6378ee83e2b465551328fb1f48f76a5   
download/mythstream-v0.18_1-apple_parser_resolutions.patch
  17d7a3168397437c250ff5ebfb7275cf   
download/mythstream-v0.18_1-youtube_parser_fix.patch
  78067b09e71b75a1d519f86b861c1dab  download/mythstream-v0.18_1-fftw3f.patch
  d406ece62041412f2e5b977b204bafc3  download/mythstream-v0.18_1.patch.gar
=======================================
--- /trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/Makefile    Sat  
Aug 15 01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/Makefile    Sat  
Aug 15 11:31:46 2009
@@ -12,6 +12,7 @@
        $(DISTNAME)-qt_paintevent_fix.patch \
        $(DISTNAME)-qt_bitblt_replace.patch \
        $(DISTNAME)-apple_parser_fix.patch \
+       $(DISTNAME)-apple_parser_resolutions.patch \
        $(DISTNAME)-youtube_parser_fix.patch \
        $(DISTNAME)-fftw3f.patch \
        $(DISTNAME).patch.gar
=======================================
--- /trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/checksums   Sat  
Aug 15 01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-0.20-softpad/mythstream/checksums   Sat  
Aug 15 11:31:46 2009
@@ -6,6 +6,7 @@
  a9b7b6d73e8a14c0d947a5f2eade0d7a   
download/mythstream-v0.18_1-qt_paintevent_fix.patch
  5cea7a910ab761d4c9cf26dcbb07101e   
download/mythstream-v0.18_1-qt_bitblt_replace.patch
  a2c9fab7ae7ecd8dc5f89fee79d6adb1   
download/mythstream-v0.18_1-apple_parser_fix.patch
+c6378ee83e2b465551328fb1f48f76a5   
download/mythstream-v0.18_1-apple_parser_resolutions.patch
  17d7a3168397437c250ff5ebfb7275cf   
download/mythstream-v0.18_1-youtube_parser_fix.patch
  78067b09e71b75a1d519f86b861c1dab  download/mythstream-v0.18_1-fftw3f.patch
  d406ece62041412f2e5b977b204bafc3  download/mythstream-v0.18_1.patch.gar
=======================================
--- /trunk/gar-minimyth/script/myth-0.21/mythstream/Makefile    Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-0.21/mythstream/Makefile    Sat Aug 15  
11:31:46 2009
@@ -12,6 +12,7 @@
        $(DISTNAME)-qt_paintevent_fix.patch \
        $(DISTNAME)-qt_bitblt_replace.patch \
        $(DISTNAME)-apple_parser_fix.patch \
+       $(DISTNAME)-apple_parser_resolutions.patch \
        $(DISTNAME)-youtube_parser_fix.patch \
        $(DISTNAME)-mythtv_0_21.patch \
        $(DISTNAME)-fftw3f.patch \
=======================================
--- /trunk/gar-minimyth/script/myth-0.21/mythstream/checksums   Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-0.21/mythstream/checksums   Sat Aug 15  
11:31:46 2009
@@ -6,6 +6,7 @@
  a9b7b6d73e8a14c0d947a5f2eade0d7a   
download/mythstream-v0.18_1-qt_paintevent_fix.patch
  5cea7a910ab761d4c9cf26dcbb07101e   
download/mythstream-v0.18_1-qt_bitblt_replace.patch
  a2c9fab7ae7ecd8dc5f89fee79d6adb1   
download/mythstream-v0.18_1-apple_parser_fix.patch
+c6378ee83e2b465551328fb1f48f76a5   
download/mythstream-v0.18_1-apple_parser_resolutions.patch
  17d7a3168397437c250ff5ebfb7275cf   
download/mythstream-v0.18_1-youtube_parser_fix.patch
  c529c2c4f2290c756c8c88de35fad8a2   
download/mythstream-v0.18_1-mythtv_0_21.patch
  78067b09e71b75a1d519f86b861c1dab  download/mythstream-v0.18_1-fftw3f.patch
=======================================
--- /trunk/gar-minimyth/script/myth-trunk/mythstream/Makefile   Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-trunk/mythstream/Makefile   Sat Aug 15  
11:31:46 2009
@@ -10,6 +10,7 @@
        $(DISTNAME)-qt_paintevent_fix.patch \
        $(DISTNAME)-qt_bitblt_replace.patch \
        $(DISTNAME)-apple_parser_fix.patch \
+       $(DISTNAME)-apple_parser_resolutions.patch \
        $(DISTNAME)-youtube_parser_fix.patch \
        $(DISTNAME)-mythtv_0_22.patch \
        $(DISTNAME)-fftw3f.patch \
=======================================
--- /trunk/gar-minimyth/script/myth-trunk/mythstream/checksums  Sat Aug 15  
01:52:33 2009
+++ /trunk/gar-minimyth/script/myth-trunk/mythstream/checksums  Sat Aug 15  
11:31:46 2009
@@ -4,6 +4,7 @@
  59d18d31c2fe7dc5bb2439faa0495ab0   
download/mythstream-0.18_qt4-qt_paintevent_fix.patch
  6f06a7f1b0fc6086208d7fcd7cb58bd9   
download/mythstream-0.18_qt4-qt_bitblt_replace.patch
  998926ebaed46c84423d4baeb451182e   
download/mythstream-0.18_qt4-apple_parser_fix.patch
+a1e0c64cc02677e7f87c59507a05d159   
download/mythstream-0.18_qt4-apple_parser_resolutions.patch
  e2c67be4122927917c77c83cba94ee95   
download/mythstream-0.18_qt4-youtube_parser_fix.patch
  940cc012f71e822be8ebf3d637af83fb   
download/mythstream-0.18_qt4-mythtv_0_22.patch
  b7b59b661edc6fb3c24dcfb051c52dc0  download/mythstream-0.18_qt4-fftw3f.patch

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"minimyth-commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/minimyth-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to