[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#721859: pu: package libquvi-scripts/0.4.18-1~deb7u1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

I would like to update libquvi-scripts in wheezy again. Not surprisingly
it needed changes for various sites, see NEWS in the attached diff. Note
that I've clean the diff a bit and removed autotools and version change
noise.

Ansgar
diff -Nru libquvi-scripts-0.4.15/NEWS libquvi-scripts-0.4.18/NEWS
--- libquvi-scripts-0.4.15/NEWS	2013-05-09 12:16:55.000000000 +0200
+++ libquvi-scripts-0.4.18/NEWS	2013-09-03 18:24:08.000000000 +0200
@@ -1,3 +1,39 @@
+v0.4.18  (2013-09-03) / Toni Gundogdu
+
+Tobias Gruetzmacher:
+  - FIX: website/dailymotion.lua: sequence pattern (no match: sequence) [3d71c75]
+Toni Gundogdu:
+  - FIX: website/funnyordie.lua: Media stream URL pattern (PORTpt9) [84c83f7]
+
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+
+v0.4.17  (2013-08-04) / Toni Gundogdu
+
+Toni Gundogdu:
+  - FIX: website/dailymotion.lua: Parse video_url (PORTpt9) [ce1b525]
+  - FIX: website/guardian.lua: Multiple patterns (PORTpt9) [165792e]
+  - Mark website/break.lua as FIXME [dce1940]
+  - Mark website/charlierose.lua as FIXME [827dff0]
+
+ 13 files changed, 83 insertions(+), 66 deletions(-)
+
+
+v0.4.16  (2013-06-18) / Toni Gundogdu
+
+Toni Gundogdu:
+  - BACKPORTpt9: Remove website/academicearth.lua [0c8f7d9]
+  - FIX: BACKPORTpt9: website/break.lua: path pattern [a8fec0f]
+  - FIX: website/myspass.lua:63: bad argument #3 to format [3265307]
+  - FIX: website/spiegel.lua: title pattern [20e95ca]
+  - FIX: website/tagtele.lua: title pattern [a56f48e]
+  - liveleak.lua: Improve support for 3rd party embedded content [efde9c3]
+  - website/guardian.lua: Check for expired content [22ff394]
+  - website/tagtele.lua: Parse thumbnail URL [c7ca1aa]
+
+ 17 files changed, 126 insertions(+), 180 deletions(-)
+
+
 v0.4.15  (2013-05-09) / Toni Gundogdu
 
 Toni Gundogdu:
diff -Nru libquvi-scripts-0.4.15/debian/changelog libquvi-scripts-0.4.18/debian/changelog
--- libquvi-scripts-0.4.15/debian/changelog	2013-06-09 11:26:09.000000000 +0200
+++ libquvi-scripts-0.4.18/debian/changelog	2013-09-04 19:35:55.000000000 +0200
@@ -1,3 +1,29 @@
+libquvi-scripts (0.4.18-1~deb7u1) wheezy; urgency=low
+
+  * Upload to wheezy.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 04 Sep 2013 19:35:47 +0200
+
+libquvi-scripts (0.4.18-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 03 Sep 2013 21:33:57 +0200
+
+libquvi-scripts (0.4.17-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 05 Aug 2013 23:21:51 +0200
+
+libquvi-scripts (0.4.16-1) unstable; urgency=low
+
+  * New upstream release.
+  * debian/copyright: Update for new upstream release.
+  * debian/watch: Follow 0.4.x branch.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 18 Jun 2013 19:28:56 +0200
+
 libquvi-scripts (0.4.15-1~deb7u1) wheezy; urgency=low
 
   * Upload to wheezy.
diff -Nru libquvi-scripts-0.4.15/debian/copyright libquvi-scripts-0.4.18/debian/copyright
--- libquvi-scripts-0.4.15/debian/copyright	2013-03-21 07:47:13.000000000 +0100
+++ libquvi-scripts-0.4.18/debian/copyright	2013-07-11 23:23:08.000000000 +0200
@@ -19,7 +19,7 @@
        share/lua/website/pornhub.lua
        share/lua/website/tnaflix.lua
 Copyright:
- 2012, Toni Gundogdu <legatvs@gmail.com>
+ 2012-2013, Toni Gundogdu <legatvs@gmail.com>
  2011-2012, Paul Kocialkowski <contact@paulk.fr>
 License: LGPL-2.1+
 
@@ -55,7 +55,9 @@
 
 Files: share/lua/website/myspass.lua
        share/lua/website/wdrmaus.lua
-Copyright: 2013, Guido Leisker <guido@guido-leisker.de>
+Copyright:
+ 2013, Guido Leisker <guido@guido-leisker.de>
+ 2013, Toni Gundogdu <legatvs@gmail.com>
 License: LGPL-2.1+
 
 Files: share/lua/website/tapuz.lua
diff -Nru libquvi-scripts-0.4.15/debian/watch libquvi-scripts-0.4.18/debian/watch
--- libquvi-scripts-0.4.15/debian/watch	2013-02-09 14:21:06.000000000 +0100
+++ libquvi-scripts-0.4.18/debian/watch	2013-07-11 23:23:08.000000000 +0200
@@ -1,2 +1,2 @@
 version=3
-http://sf.net/quvi/libquvi-scripts-(.*).tar.(?:xz|gz|bz2)
+http://sf.net/quvi/libquvi-scripts-(0\.4\..*).tar.(?:xz|gz|bz2)
diff -Nru libquvi-scripts-0.4.15/share/Makefile.am libquvi-scripts-0.4.18/share/Makefile.am
--- libquvi-scripts-0.4.15/share/Makefile.am	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/share/Makefile.am	2013-09-03 18:09:22.000000000 +0200
@@ -14,16 +14,13 @@
  lua/website/quvi/util.lua \
  lua/website/101greatgoals.lua \
  lua/website/1tvru.lua \
- lua/website/academicearth.lua \
  lua/website/ardmediathek.lua \
  lua/website/arte.lua \
  lua/website/audioboo.lua \
  lua/website/bbc.lua \
  lua/website/bikeradar.lua \
- lua/website/break.lua \
  lua/website/canalplus.lua \
  lua/website/cbsnews.lua \
- lua/website/charlierose.lua \
  lua/website/clipfish.lua \
  lua/website/dailymotion.lua \
  lua/website/foxnews.lua \
@@ -78,6 +75,8 @@
 DIST_lua+=\
  lua/website/blip.lua \
  lua/website/bloomberg.lua \
+ lua/website/break.lua \
+ lua/website/charlierose.lua \
  lua/website/collegehumor.lua \
  lua/website/francetelevisions.lua \
  lua/website/globo.lua \
diff -Nru libquvi-scripts-0.4.15/share/lua/website/academicearth.lua libquvi-scripts-0.4.18/share/lua/website/academicearth.lua
--- libquvi-scripts-0.4.15/share/lua/website/academicearth.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/academicearth.lua	1970-01-01 01:00:00.000000000 +0100
@@ -1,62 +0,0 @@
-
--- libquvi-scripts v0.4.15
--- Copyright (C) 2010-2011,2013  Toni Gundogdu <legatvs@gmail.com>
---
--- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
---
--- This library is free software; you can redistribute it and/or
--- modify it under the terms of the GNU Lesser General Public
--- License as published by the Free Software Foundation; either
--- version 2.1 of the License, or (at your option) any later version.
---
--- This library is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--- Lesser General Public License for more details.
---
--- You should have received a copy of the GNU Lesser General Public
--- License along with this library; if not, write to the Free Software
--- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
--- 02110-1301  USA
---
-
--- academicearth.org hosts videos at either blip.tv or youtube.com
--- This webscript uses the "redirect_url" to point to the source.
-
-local AcademicEarth = {} -- Utility functions specific to this script
-
--- Identify the script.
-function ident(self)
-    package.path = self.script_dir .. '/?.lua'
-    local C      = require 'quvi/const'
-    local r      = {}
-    r.domain     = "academicearth%.org"
-    r.formats    = "default"
-    r.categories = C.proto_http
-    local U      = require 'quvi/util'
-    r.handles    = U.handles(self.page_url, {r.domain}, {"/lectures/"})
-    return r
-end
-
--- Query available formats.
-function query_formats(self)
-    return AcademicEarth.get_redirect_url(self)
-end
-
--- Parse media URL.
-function parse(self)
-    return AcademicEarth.get_redirect_url(self)
-end
-
---
--- Utility functions
---
-
-function AcademicEarth.get_redirect_url(self)
-    local p = quvi.fetch(self.page_url)
-    self.redirect_url = p:match('"(http://www%.youtube%.com/watch.-)"')
-                            or error('no match: unrecognized media source')
-    return self
-end
-
--- vim: set ts=4 sw=4 tw=72 expandtab:
diff -Nru libquvi-scripts-0.4.15/share/lua/website/break.lua libquvi-scripts-0.4.18/share/lua/website/break.lua
--- libquvi-scripts-0.4.15/share/lua/website/break.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/break.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,5 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
 -- Copyright (C) 2010-2012  Toni Gundogdu <legatvs@gmail.com>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -29,7 +29,7 @@
     r.formats    = "default"
     r.categories = C.proto_http
     local U      = require 'quvi/util'
-    r.handles    = U.handles(self.page_url, {r.domain}, {"/index/"})
+    r.handles    = U.handles(self.page_url, {r.domain}, {"/video/.-%-%d+$"})
     return r
 end
 
diff -Nru libquvi-scripts-0.4.15/share/lua/website/dailymotion.lua libquvi-scripts-0.4.18/share/lua/website/dailymotion.lua
--- libquvi-scripts-0.4.15/share/lua/website/dailymotion.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/dailymotion.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,5 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
 -- Copyright (C) 2010-2012  Toni Gundogdu <legatvs@gmail.com>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -107,8 +107,7 @@
 end
 
 function Dailymotion.iter_formats(page, U)
-    local seq = page:match('"sequence":"(.-)"')
-                  or error('no match: sequence')
+    local seq = page:match('sequence=(.-)"')
     if not seq then
         local e = "no match: sequence"
         if page:match("_partnerplayer") then
@@ -119,23 +118,32 @@
 
     seq = U.unescape(seq)
 
-    local t = {}
-    for url in seq:gmatch('%w+URL":"(.-)"') do
-        local c,w,h,cn = url:match('(%w+)%-(%d+)x(%d+).-%.(%w+)')
+    local urls = {}
+    for u in seq:gmatch('"%w%wURL":"(.-)"') do
+        table.insert(urls, {url=Dailymotion.cleanup(U,u)})
+    end
+
+    if #urls ==0 then  -- All videos should have at least this.
+        local u = seq:match('"video_url":"(.-)"')
+                    or error('no match: media stream URL')
+        table.insert(urls, {url=Dailymotion.cleanup(U,u)})
+    end
+
+    local r = {}
+    for _,v in pairs(urls) do
+        local c,w,h,cn = v.url:match('(%w+)%-(%d+)x(%d+).-%.(%w+)')
         if c then
-            url = url:gsub('cell=secure%-vod&', '') -- http://is.gd/BzYPZJ
-            table.insert(t, {width=tonumber(w), height=tonumber(h),
+            table.insert(r, {width=tonumber(w), height=tonumber(h),
                              container=cn,      codec=string.lower(c),
-                             url=url:gsub("\\/", "/")})
---            print(c,w,h,cn)
+                             url=v.url})
         end
     end
 
-    if #t == 0 then
-        error("no match: media URL")
+    if #r ==0 then
+      error("no match: media URL")
     end
 
-    return t
+    return r
 end
 
 function Dailymotion.choose_default(formats) -- Lowest quality available
@@ -166,4 +174,10 @@
     return string.format("%s_%sp", t.container, t.height)
 end
 
+-- Sanitizes the URL.
+function Dailymotion.cleanup(U,u)
+    u = U.slash_unescape(U.unescape(u))
+    return (u:gsub('cell=secure%-vod&', '')) -- http://is.gd/BzYPZJ
+end
+
 -- vim: set ts=4 sw=4 tw=72 expandtab:
diff -Nru libquvi-scripts-0.4.15/share/lua/website/funnyordie.lua libquvi-scripts-0.4.18/share/lua/website/funnyordie.lua
--- libquvi-scripts-0.4.15/share/lua/website/funnyordie.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/funnyordie.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,5 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
 -- Copyright (C) 2011,2013  Toni Gundogdu <legatvs@gmail.com>
 -- Copyright (C) 2010 quvi project
 --
@@ -82,10 +82,10 @@
 
 function FunnyOrDie.iter_formats(page)
     local t = {}
-    for u in page:gmatch('source src="(.-)"') do
-        table.insert(t,u)
+    for u in page:gmatch('type: "video/mp4", src: "(.-)"') do
+        table.insert(t, u)
     end
-    table.remove(t,1) -- Remove the first: the URL for segmented videos
+    if #t ==0 then error('no match: media stream URL') end
     local r = {}
     for _,u in pairs(t) do
         local q,c = u:match('/(%w+)%.(%w+)$')
diff -Nru libquvi-scripts-0.4.15/share/lua/website/guardian.lua libquvi-scripts-0.4.18/share/lua/website/guardian.lua
--- libquvi-scripts-0.4.15/share/lua/website/guardian.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/guardian.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,5 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
 -- Copyright (C) 2011,2013  Toni Gundogdu <legatvs@gmail.com>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -27,7 +27,7 @@
     package.path = self.script_dir .. '/?.lua'
     local C      = require 'quvi/const'
     local r      = {}
-    r.domain     = "guardian%.co%.uk"
+    r.domain     = "theguardian%.com"
     r.formats    = "default"
     r.categories = C.proto_http
     local U      = require 'quvi/util'
@@ -45,26 +45,39 @@
 function parse(self)
     self.host_id = "guardian"
 
-    local p = quvi.fetch(self.page_url)
+    local p = Guardian.fetch(self)
 
     self.title = p:match('"og:title" content="(.-)"')
                     or error('no match: media title')
+    self.title = self.title:gsub('%s+%-%s+video', '')
 
-    self.id = p:match('containerID%s+=%s+["\'](.-)["\']')
-                  or p:match('audioID%s+=%s+["\'](.-)["\']')
-                      or ''
-
-    self.id = self.id:match('(%d+)') or error('no match: media ID')
+    self.id = (p:match('prop8%s+=%s+["\'](.-)["\']') or '')
+                  :match('(%d+)') or error('no match: media ID')
 
     self.duration = tonumber(p:match('duration%:%s+"?(%d+)"?') or 0) * 1000
+    if self.duration ==0 then
+        local m,s = p:match('T(%d+)M(%d+)S')
+        self.duration = (tonumber(m or 0)*60 + tonumber(s or 0)) * 1000
+    end
 
     self.thumbnail_url = p:match('"thumbnail" content="(.-)"')
                             or p:match('"og:image" content="(.-)"') or ''
 
-    self.url = {p:match('file:%s+"(.-)"')
+    self.url = {p:match("%s+file.-:%s+'(.-)'")
                   or error('no match: media stream URL')}
 
     return self
 end
 
+--
+-- Utility functions
+--
+
+function Guardian.fetch(self)
+    local p = quvi.fetch(self.page_url)
+    local e = p:match('<div class="expired">.-<p>(.-)</p>.-</div>') or ''
+    if #e >0 then error(e) end
+    return p
+end
+
 -- vim: set ts=4 sw=4 tw=72 expandtab:
diff -Nru libquvi-scripts-0.4.15/share/lua/website/liveleak.lua libquvi-scripts-0.4.18/share/lua/website/liveleak.lua
--- libquvi-scripts-0.4.15/share/lua/website/liveleak.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/liveleak.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,5 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
 -- Copyright (C) 2010-2012  Toni Gundogdu <legatvs@gmail.com>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -57,13 +57,14 @@
                 or error("no match: media ID")
 
     local c_url = p:match('config: "(.-)"')
-                    or error("no match: config")
-
-    local U = require 'quvi/util'
-    local c = quvi.fetch(U.unescape(c_url), {fetch_type='config'})
-
-    self.url = {c:match("<file>(.-)</")
-                or error("no match: media URL")}
+    if not c_url then -- Try the first iframe.
+        self.redirect_url = p:match('<iframe.-src="(.-)"')
+                                or error("no match: config")
+    else
+        local U = require 'quvi/util'
+        local c = quvi.fetch(U.unescape(c_url), {fetch_type='config'})
+        self.url = {c:match("<file>(.-)</") or error("no match: media URL")}
+    end
 
     return self
 end
diff -Nru libquvi-scripts-0.4.15/share/lua/website/myspass.lua libquvi-scripts-0.4.18/share/lua/website/myspass.lua
--- libquvi-scripts-0.4.15/share/lua/website/myspass.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/myspass.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,6 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
+-- Copyright (C) 2013  Toni Gundogdu <legatvs@gmail.com>
 -- Copyright (C) 2012  Guido Leisker <guido@guido-leisker.de>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -29,16 +30,16 @@
 
 -- Identify the script.
 function ident(self)
-  package.path = self.script_dir .. '/?.lua'
-  local C      = require 'quvi/const'
-  local r      = {}
-  r.domain     = "myspass%.de"
-  r.formats    = "default"
-  r.categories = C.proto_http
-  local U      = require 'quvi/util'
-  -- expect all urls ending with digits to be videos
-  r.handles    = U.handles(self.page_url, {r.domain}, {"/myspass/.-/%d+/?$"})
-  return r
+    package.path = self.script_dir .. '/?.lua'
+    local C      = require 'quvi/const'
+    local r      = {}
+    r.domain     = "myspass%.de"
+    r.formats    = "default"
+    r.categories = C.proto_http
+    local U      = require 'quvi/util'
+    -- expect all urls ending with digits to be videos
+    r.handles    = U.handles(self.page_url, {r.domain},{"/myspass/.-/%d+/?$"})
+    return r
 end
 
 -- Query available formats.
@@ -49,41 +50,50 @@
 
 -- Parse media URL.
 function parse(self)
-  self.host_id = "myspass"
+    self.host_id = "myspass"
 
-  self.id = self.page_url:match("(%d+)/?$")
-      or error("no match: media ID")
+    self.id = self.page_url:match("(%d+)/?$") or error("no match: media ID")
 
-  local format  = MySpass.getMetadataValue(self, 'format')
-  local title   = MySpass.getMetadataValue(self, 'title')
-  local season  = MySpass.getMetadataValue(self, 'season')
-  local episode = MySpass.getMetadataValue(self, 'episode')
-  self.thumbnail_url = MySpass.getMetadataValue(self, 'imagePreview') or ''
+    local u = {
+        'http://www.myspass.de/myspass/',
+        'includes/apps/video/getvideometadataxml.php?id=',
+        self.id
+    }
+    local m = quvi.fetch(table.concat(u,''))
+
+    local format  = MySpass.getMetadataValue(m, 'format')
+    MySpass.chk_expired(format)
+
+    local season  = MySpass.getMetadataValue(m, 'season')
+    local episode = MySpass.getMetadataValue(m, 'episode')
+    local title   = MySpass.getMetadataValue(m, 'title')
+
+    self.title = string.format("%s %03d %03d %s",
+                    format,
+                    tonumber(season),
+                    tonumber(episode),
+                    title)
 
-  self.title = string.format("%s %03d %03d %s", format, season,
-                             episode, title)
+    self.thumbnail_url = MySpass.getMetadataValue(m, 'imagePreview') or ''
+    self.url = {MySpass.getMetadataValue(m, 'url_flv')}
 
-  self.url = {MySpass.getMetadataValue(self, 'url_flv')}
-
-  return self
+    return self
 end
 
 --
 -- Utility functions
 --
 
-function MySpass.getMetadataValue(self, key)
-  if self.metadata == nil then
-    self.metadata =  quvi.fetch(
-      'http://www.myspass.de/myspass/'
-          .. 'includes/apps/video/getvideometadataxml.php?id='
-          .. self.id ) or error("cannot fetch meta data xml file")
-  end
-  local p = string.format("<%s>(.-)</%s>", key, key)
-  local temp = self.metadata:match(p) or error("meta data: no match: " .. key)
-  local value = temp:match('<!%[CDATA%[(.+)]]>') or temp
-  return value
+function MySpass.getMetadataValue(m, k)
+    local p = string.format("<%s>(.-)</%s>", k, k)
+    local s = m:match(p) or error(string.format('no match: %s', k))
+    return s:match('<!%[CDATA%[(.+)]]>') or ''
 end
 
--- vim: set ts=2 sw=2 tw=72 expandtab:
+function MySpass.chk_expired(s)
+    if #s ==0 then
+        error('no match: metadata: "format": video no longer available?')
+    end
+end
 
+-- vim: set ts=4 sw=4 tw=72 expandtab:
diff -Nru libquvi-scripts-0.4.15/share/lua/website/spiegel.lua libquvi-scripts-0.4.18/share/lua/website/spiegel.lua
--- libquvi-scripts-0.4.15/share/lua/website/spiegel.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/spiegel.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,5 +1,5 @@
 
--- libquvi-scripts v0.4.15
+-- libquvi-scripts v0.4.18
 -- Copyright (C) 2010-2011,2013  Toni Gundogdu <legatvs@gmail.com>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -63,8 +63,9 @@
 
     local p = quvi.fetch(self.page_url)
 
-    self.title = p:match('"spVideoTitle">(.-)<')
-                    or error('no match: media title')
+    self.title = p:match('"module%-title">(.-)</')
+                    or p:match('"og:title".-content="(.-)%s+%-%s+SP')
+                      or error('no match: media title')
 
     self.thumbnail_url = p:match('"og:image" content="(.-)"') or ''
 
diff -Nru libquvi-scripts-0.4.15/share/lua/website/tagtele.lua libquvi-scripts-0.4.18/share/lua/website/tagtele.lua
--- libquvi-scripts-0.4.15/share/lua/website/tagtele.lua	2013-05-09 12:17:41.000000000 +0200
+++ libquvi-scripts-0.4.18/share/lua/website/tagtele.lua	2013-09-03 18:25:27.000000000 +0200
@@ -1,6 +1,6 @@
 
--- libquvi-scripts v0.4.15
--- Copyright (C) 2012  Toni Gundogdu <legatvs@gmail.com>
+-- libquvi-scripts v0.4.18
+-- Copyright (C) 2012,2013  Toni Gundogdu <legatvs@gmail.com>
 -- Copyright (C) 2010  Paul Kocialkowski <contact@paulk.fr>
 --
 -- This file is part of libquvi-scripts <http://quvi.sourceforge.net/>.
@@ -46,12 +46,15 @@
 
     local p = quvi.fetch(self.page_url)
 
-    self.title = p:match("<title>TagTélé%s+-%s+(.-)</title>")
-                  or error("no match: media title")
+    self.title = p:match('meta name="title" content="(.-)"')
+                  or p:match('meta property="og:title" content="(.-)"')
+                    or error("no match: media title")
 
     self.id = self.page_url:match('/voir/(%d+)')
                 or error("no match: media ID")
 
+    self.thumbnail_url = p:match('og:image" content="(.-)"') or ''
+
     local pl_url = "http://www.tagtele.com/videos/playlist/"..self.id.."/";
     local pl = quvi.fetch(pl_url, {fetch_type='playlist'})
 
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/break.json libquvi-scripts-0.4.18/tests/data/format/default/break.json
--- libquvi-scripts-0.4.15/tests/data/format/default/break.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/break.json	1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-{
-  "host": "break",
-  "page_title": "Beach Tackle Whiplash",
-  "page_url": "http://break.com/index/beach-tackle-whip-lash.html";,
-  "id": "546999",
-  "format_requested": "default",
-  "thumbnail_url": "http://media11.break.com/dnet/media/2008/7/beach-tackle-whiplash.jpg";,
-  "link": [
-    {
-      "id": "1",
-      "length_bytes": "955923",
-      "content_type": "flv-application/octet-stream",
-      "file_suffix": "flv",
-      "url": ""
-    }
-  ]
-}
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/charlierose.json libquvi-scripts-0.4.18/tests/data/format/default/charlierose.json
--- libquvi-scripts-0.4.15/tests/data/format/default/charlierose.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/charlierose.json	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-{
-  "host": "charlierose",
-  "page_title": "Creativity",
-  "page_url": "http://www.charlierose.com/view/interview/11125";,
-  "id": "11125",
-  "format_requested": "default",
-  "link": [
-    {
-      "id": "1",
-      "length_bytes": "105769973",
-      "content_type": "text/plain",
-      "file_suffix": "flv",
-      "url": ""
-    }
-  ]
-}
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/fixme/break.json libquvi-scripts-0.4.18/tests/data/format/default/fixme/break.json
--- libquvi-scripts-0.4.15/tests/data/format/default/fixme/break.json	1970-01-01 01:00:00.000000000 +0100
+++ libquvi-scripts-0.4.18/tests/data/format/default/fixme/break.json	2013-09-03 18:09:22.000000000 +0200
@@ -0,0 +1,17 @@
+{
+  "host": "break",
+  "page_title": "Star Wars Elevator Prank",
+  "page_url": "http://www.break.com/video/star-wars-elevator-prank-2461976";,
+  "id": "2461976",
+  "format_requested": "default",
+  "thumbnail_url": "http://media1.break.com/dnet/media/976/461/2461976/star-wars-elevator-prank-thumb.jpg";,
+  "link": [
+    {
+      "id": "1",
+      "length_bytes": "11338661",
+      "content_type": "video/mp4",
+      "file_suffix": "mp4",
+      "url": ""
+    }
+  ]
+}
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/fixme/charlierose.json libquvi-scripts-0.4.18/tests/data/format/default/fixme/charlierose.json
--- libquvi-scripts-0.4.15/tests/data/format/default/fixme/charlierose.json	1970-01-01 01:00:00.000000000 +0100
+++ libquvi-scripts-0.4.18/tests/data/format/default/fixme/charlierose.json	2013-09-03 18:09:22.000000000 +0200
@@ -0,0 +1,16 @@
+{
+  "host": "charlierose",
+  "page_title": "Creativity",
+  "page_url": "http://www.charlierose.com/view/interview/11125";,
+  "id": "11125",
+  "format_requested": "default",
+  "link": [
+    {
+      "id": "1",
+      "length_bytes": "105769973",
+      "content_type": "text/plain",
+      "file_suffix": "flv",
+      "url": ""
+    }
+  ]
+}
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/guardian.json libquvi-scripts-0.4.18/tests/data/format/default/guardian.json
--- libquvi-scripts-0.4.15/tests/data/format/default/guardian.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/guardian.json	2013-09-03 18:09:22.000000000 +0200
@@ -1,18 +1,18 @@
 {
   "host": "guardian",
-  "page_title": "Bayern Munich break Bundesliga points record - video",
-  "page_url": "http://www.guardian.co.uk/football/video/2013/apr/28/bayern-munich-break-bundesliga-points-record-video";,
-  "id": "407965320",
+  "page_title": "Google launches giant balloon powered internet in New Zealand",
+  "page_url": "http://www.theguardian.com/technology/video/2013/jun/15/google-balloon-internet-new-zealand-video";,
+  "id": "1922953",
   "format_requested": "default",
-  "thumbnail_url": "http://cdn.theguardian.tv/mainwebsite/thumb/2013/4/28/130428Bayern_7536534.jpg";,
-  "duration": "69000",
+  "thumbnail_url": "http://cdn.theguardian.tv/mainwebsite/thumb/2013/6/15/130615Google_7725680.jpg";,
+  "duration": "51000",
   "link": [
     {
       "id": "1",
-      "length_bytes": "9289937",
+      "length_bytes": "7023332",
       "content_type": "video/mp4",
       "file_suffix": "mp4",
-      "url": ""
+      "url": "http://cdn.theguardian.tv/mainwebsite/2013/6/15/130615Google-16x9.mp4";
     }
   ]
 }
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/guardian_audio.json libquvi-scripts-0.4.18/tests/data/format/default/guardian_audio.json
--- libquvi-scripts-0.4.15/tests/data/format/default/guardian_audio.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/guardian_audio.json	2013-09-03 18:09:22.000000000 +0200
@@ -1,8 +1,8 @@
 {
   "host": "guardian",
   "page_title": "The Guardian Film Show podcast: The Look of Love, Iron Man 3, Bernie and In the Fog - audio",
-  "page_url": "http://www.guardian.co.uk/film/audio/2013/apr/26/guardian-film-show-podcast-look-of-love-iron-man-3-audio";,
-  "id": "407893443",
+  "page_url": "http://www.theguardian.com/film/audio/2013/apr/26/guardian-film-show-podcast-look-of-love-iron-man-3-audio";,
+  "id": "1899609",
   "format_requested": "default",
   "thumbnail_url": "https://static-secure.guim.co.uk/sys-images/Guardian/Pix/audio/video/2013/4/25/1366899633294/Composite-of-images-from--018.jpg";,
   "duration": "1278000",
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/guardian_audio2.json libquvi-scripts-0.4.18/tests/data/format/default/guardian_audio2.json
--- libquvi-scripts-0.4.15/tests/data/format/default/guardian_audio2.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/guardian_audio2.json	2013-09-03 18:09:22.000000000 +0200
@@ -1,8 +1,8 @@
 {
   "host": "guardian",
   "page_title": "Guardian Books podcast: Michael Rosen follows Emil to Berlin",
-  "page_url": "http://www.guardian.co.uk/books/audio/2013/apr/26/emil-detectives-michael-rosen-rolf-dobelli-podcast";,
-  "id": "407895871",
+  "page_url": "http://www.theguardian.com/books/audio/2013/apr/26/emil-detectives-michael-rosen-rolf-dobelli-podcast";,
+  "id": "1899622",
   "format_requested": "default",
   "thumbnail_url": "https://static-secure.guim.co.uk/sys-images/Guardian/Pix/pictures/2012/6/22/1340371650625/Berlin-Corner-Unter-den-L-001.jpg";,
   "duration": "2822000",
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/guardian_old.json libquvi-scripts-0.4.18/tests/data/format/default/guardian_old.json
--- libquvi-scripts-0.4.15/tests/data/format/default/guardian_old.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/guardian_old.json	2013-09-03 18:09:22.000000000 +0200
@@ -1,8 +1,8 @@
 {
   "host": "guardian",
-  "page_title": "The Legend of Zelda: Skyward Sword gameplay trailer - video",
-  "page_url": "http://www.guardian.co.uk/technology/video/2011/dec/02/legend-zelda-skyward-sword-trailer";,
-  "id": "382720146",
+  "page_title": "The Legend of Zelda: Skyward Sword gameplay trailer",
+  "page_url": "http://www.theguardian.com/technology/video/2011/dec/02/legend-zelda-skyward-sword-trailer";,
+  "id": "1670959",
   "format_requested": "default",
   "thumbnail_url": "http://cdn.theguardian.tv/brightcove/thumb/2011/12/2/111202Zelda_5538971.jpg";,
   "duration": "224000",
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/ignore/length_bytes/dailymotion.json libquvi-scripts-0.4.18/tests/data/format/default/ignore/length_bytes/dailymotion.json
--- libquvi-scripts-0.4.15/tests/data/format/default/ignore/length_bytes/dailymotion.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/ignore/length_bytes/dailymotion.json	2013-09-03 18:09:23.000000000 +0200
@@ -8,7 +8,7 @@
   "link": [
     {
       "id": "1",
-      "length_bytes": "105879243",
+      "length_bytes": "105879001",
       "content_type": "video/mp4",
       "file_suffix": "mp4",
       "url": ""
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/myspass.json libquvi-scripts-0.4.18/tests/data/format/default/myspass.json
--- libquvi-scripts-0.4.15/tests/data/format/default/myspass.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/myspass.json	2013-09-03 18:09:23.000000000 +0200
@@ -1,14 +1,14 @@
 {
   "host": "myspass",
-  "page_title": "The Netshow 001 084 Abschied aus Köln",
-  "page_url": "http://www.myspass.de/myspass/shows/webshows/the-netshow/Abschied-aus-Koeln--/11186/";,
-  "id": "11186",
+  "page_title": "TV total 015 1912 TV total Sendung vom 10.06.2013",
+  "page_url": "http://www.myspass.de/myspass/shows/tvshows/tv-total/TV-total-Sendung-vom-10062013--/13340/";,
+  "id": "13340",
   "format_requested": "default",
-  "thumbnail_url": "http://www.myspass.de/myspass/media/images/videos/86/11186_640x360.jpg";,
+  "thumbnail_url": "http://www.myspass.de/myspass/media/images/videos/40/13340_640x360.jpg";,
   "link": [
     {
       "id": "1",
-      "length_bytes": "24736684",
+      "length_bytes": "288878800",
       "content_type": "video/mp4",
       "file_suffix": "mp4",
       "url": ""
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/spiegel-1.json libquvi-scripts-0.4.18/tests/data/format/default/spiegel-1.json
--- libquvi-scripts-0.4.15/tests/data/format/default/spiegel-1.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/spiegel-1.json	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-{
-  "host": "spiegel",
-  "page_title": "Matthias Sammer: Bayerns mahnender Zeigefinger",
-  "page_url": "http://www.spiegel.de/video/matthias-sammer-ermahnt-den-fc-bayern-video-1242333.html";,
-  "id": "1242333",
-  "format_requested": "default",
-  "thumbnail_url": "http://cdn1.spiegel.de/images/image-439218-videothumb-iywa.jpg";,
-  "duration": "123000",
-  "link": [
-    {
-      "id": "1",
-      "length_bytes": "8476612",
-      "content_type": "video/mp4",
-      "file_suffix": "mp4",
-      "url": ""
-    }
-  ]
-}
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/spiegel.diff libquvi-scripts-0.4.18/tests/data/format/default/spiegel.diff
--- libquvi-scripts-0.4.15/tests/data/format/default/spiegel.diff	1970-01-01 01:00:00.000000000 +0100
+++ libquvi-scripts-0.4.18/tests/data/format/default/spiegel.diff	2013-06-16 15:06:59.000000000 +0200
@@ -0,0 +1,28 @@
+--- spiegel.json	2013-06-16 14:07:48.261762106 +0300
++++ spiegel-1.json	2013-06-16 14:07:48.261762106 +0300
+@@ -1,17 +1,17 @@
+ {
+   "host": "spiegel",
+-  "page_title": "Insektenroboter \"Robo-Bee\": Auf der Spur des Bienentanzes",
+-  "page_url": "http://www.spiegel.de/video/bienen-forschung-roboter-biene-soll-bienentanz-entschluesseln-video-1231965.html";,
+-  "id": "1231965",
++  "page_title": "Matthias Sammer: Bayerns mahnender Zeigefinger",
++  "page_url": "http://www.spiegel.de/video/matthias-sammer-ermahnt-den-fc-bayern-video-1242333.html";,
++  "id": "1242333",
+   "format_requested": "default",
+-  "thumbnail_url": "http://cdn2.spiegel.de/images/image-420265-videothumb-ffop.jpg";,
+-  "duration": "203000",
++  "thumbnail_url": "http://cdn1.spiegel.de/images/image-439218-videothumb-iywa.jpg";,
++  "duration": "123000",
+   "link": [
+     {
+       "id": "1",
+-      "length_bytes": "10245896",
+-      "content_type": "video/x-flv",
+-      "file_suffix": "flv",
++      "length_bytes": "8476612",
++      "content_type": "video/mp4",
++      "file_suffix": "mp4",
+       "url": ""
+     }
+   ]
diff -Nru libquvi-scripts-0.4.15/tests/data/format/default/tagtele.json libquvi-scripts-0.4.18/tests/data/format/default/tagtele.json
--- libquvi-scripts-0.4.15/tests/data/format/default/tagtele.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/format/default/tagtele.json	2013-09-03 18:09:23.000000000 +0200
@@ -4,12 +4,13 @@
   "page_url": "http://www.tagtele.com/videos/voir/64096";,
   "id": "64096",
   "format_requested": "default",
+  "thumbnail_url": "http://www.tagtele.com/img/videos/thumbs640x360/a/9/9/64096_default.jpg?20110120032440";,
   "link": [
     {
       "id": "1",
-      "length_bytes": "46030240",
-      "content_type": "video/x-flv",
-      "file_suffix": "flv",
+      "length_bytes": "21650251",
+      "content_type": "video/mp4",
+      "file_suffix": "mp4",
       "url": ""
     }
   ]
diff -Nru libquvi-scripts-0.4.15/tests/data/resolve/redirect_url_101greatgoals.json libquvi-scripts-0.4.18/tests/data/resolve/redirect_url_101greatgoals.json
--- libquvi-scripts-0.4.15/tests/data/resolve/redirect_url_101greatgoals.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/resolve/redirect_url_101greatgoals.json	2013-09-03 18:09:23.000000000 +0200
@@ -1,17 +1,17 @@
 {
   "host": "youtube",
-  "page_title": "Eliaquim Mangala Fantastic BackHeel Golazo ( Nacional 0 - 2 FC Porto ) 04.05.2013",
-  "page_url": "http://www.youtube.com/embed/14Jwu9MpqZk";,
-  "id": "14Jwu9MpqZk",
+  "page_title": "Welsh Premier goal of the season 2013",
+  "page_url": "http://www.youtube.com/embed/LMPs3d1JPXM";,
+  "id": "LMPs3d1JPXM",
   "format_requested": "default",
-  "thumbnail_url": "http://i2.ytimg.com/vi/14Jwu9MpqZk/default.jpg";,
-  "duration": "43000",
+  "thumbnail_url": "http://i1.ytimg.com/vi/LMPs3d1JPXM/default.jpg";,
+  "duration": "24000",
   "link": [
     {
       "id": "1",
-      "length_bytes": "6218412",
-      "content_type": "video/webm",
-      "file_suffix": "webm",
+      "length_bytes": "2804005",
+      "content_type": "video/x-flv",
+      "file_suffix": "flv",
       "url": ""
     }
   ]
diff -Nru libquvi-scripts-0.4.15/tests/data/resolve/redirect_url_academicearth.json libquvi-scripts-0.4.18/tests/data/resolve/redirect_url_academicearth.json
--- libquvi-scripts-0.4.15/tests/data/resolve/redirect_url_academicearth.json	2013-05-09 11:39:49.000000000 +0200
+++ libquvi-scripts-0.4.18/tests/data/resolve/redirect_url_academicearth.json	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-{
-  "host": "youtube",
-  "page_title": "1. Introduction to Roman Architecture",
-  "page_url": "http://www.youtube.com/watch?v=qd3MJPHaotQ";,
-  "id": "qd3MJPHaotQ",
-  "format_requested": "default",
-  "thumbnail_url": "http://i2.ytimg.com/vi/qd3MJPHaotQ/default.jpg";,
-  "duration": "2551000",
-  "link": [
-    {
-      "id": "1",
-      "length_bytes": "212559259",
-      "content_type": "video/x-flv",
-      "file_suffix": "flv",
-      "url": ""
-    }
-  ]
-}
diff -Nru libquvi-scripts-0.4.15/tests/data/resolve/redirect_url_liveleak.json libquvi-scripts-0.4.18/tests/data/resolve/redirect_url_liveleak.json
--- libquvi-scripts-0.4.15/tests/data/resolve/redirect_url_liveleak.json	1970-01-01 01:00:00.000000000 +0100
+++ libquvi-scripts-0.4.18/tests/data/resolve/redirect_url_liveleak.json	2013-09-03 18:09:23.000000000 +0200
@@ -0,0 +1,18 @@
+{
+  "host": "youtube",
+  "page_title": "Running the road block... Central park",
+  "page_url": "http://www.youtube.com/embed/C2hk6d_8Gt4?rel=0";,
+  "id": "C2hk6d_8Gt4",
+  "format_requested": "default",
+  "thumbnail_url": "http://i4.ytimg.com/vi/C2hk6d_8Gt4/default.jpg";,
+  "duration": "44000",
+  "link": [
+    {
+      "id": "1",
+      "length_bytes": "6943044",
+      "content_type": "video/webm",
+      "file_suffix": "webm",
+      "url": ""
+    }
+  ]
+}

Reply to: