[pkg-freevo-commits] r178 - in packages/freevo/trunk/debian: . patches

Andrea Mennucci mennucc1 at alioth.debian.org
Sun Jan 31 11:53:18 UTC 2010


Author: mennucc1
Date: 2010-01-31 11:53:12 +0000 (Sun, 31 Jan 2010)
New Revision: 178

Added:
   packages/freevo/trunk/debian/patches/dvbstreamer_spaces_in_service.diff
   packages/freevo/trunk/debian/patches/encodingcore_no_print.diff
   packages/freevo/trunk/debian/patches/encodingcore_report_failures.diff
   packages/freevo/trunk/debian/patches/encodingcore_video_copy_noargs.diff
   packages/freevo/trunk/debian/patches/imdb-html5lib.patch
   packages/freevo/trunk/debian/patches/twisted-web-9.diff
   packages/freevo/trunk/debian/patches/weather.diff
Modified:
   packages/freevo/trunk/debian/changelog
   packages/freevo/trunk/debian/control
   packages/freevo/trunk/debian/patches/cdrom.patch
   packages/freevo/trunk/debian/patches/series
Log:
add many patches

Modified: packages/freevo/trunk/debian/changelog
===================================================================
--- packages/freevo/trunk/debian/changelog	2010-01-23 18:48:37 UTC (rev 177)
+++ packages/freevo/trunk/debian/changelog	2010-01-31 11:53:12 UTC (rev 178)
@@ -1,3 +1,11 @@
+freevo (1.9.0-4) unstable; urgency=low
+
+  * Thanks Sandro Tosi for the NMU
+  * added many new patches, some from upstream
+    (for details, see the Bug URL in each of them)
+
+ -- A Mennucc1 <mennucc1 at debian.org>  Sat, 30 Jan 2010 12:52:13 +0100
+
 freevo (1.9.0-3.1) unstable; urgency=low
 
   * Non-maintainer upload, to drop Python 2.4; thanks to Luca Falavigna for the

Modified: packages/freevo/trunk/debian/control
===================================================================
--- packages/freevo/trunk/debian/control	2010-01-23 18:48:37 UTC (rev 177)
+++ packages/freevo/trunk/debian/control	2010-01-31 11:53:12 UTC (rev 178)
@@ -31,7 +31,7 @@
 Architecture: all
 Section: python
 XB-Python-Version: ${python:Versions}
-Depends: ${python:Depends},  python-alsaaudio, python-libxml2, python-beautifulsoup (>= 3.0.1), python-kaa-imlib2 (>= 0.2.2), python-kaa-metadata (>= 0.7.1), python-kaa-base (>= 0.4.0), python-pygame (>> 1.7.1release-4.1+b1), python-imaging, python-twisted (>= 2.5.0), python-sqlite
+Depends: ${python:Depends},  python-alsaaudio, python-libxml2, python-beautifulsoup (>= 3.0.1), python-html5lib, python-kaa-imlib2 (>= 0.2.2), python-kaa-metadata (>= 0.7.1), python-kaa-base (>= 0.4.0), python-pygame (>> 1.7.1release-4.1+b1), python-imaging, python-twisted (>= 2.5.0), python-sqlite
 Description: home theater framework - Python modules
  Freevo is a complete home theater framework. It can operate as a
  Personal Video Recorder system for saving television input to disk, but

Modified: packages/freevo/trunk/debian/patches/cdrom.patch
===================================================================
--- packages/freevo/trunk/debian/patches/cdrom.patch	2010-01-23 18:48:37 UTC (rev 177)
+++ packages/freevo/trunk/debian/patches/cdrom.patch	2010-01-31 11:53:12 UTC (rev 178)
@@ -1,3 +1,5 @@
+#Bug: http://sourceforge.net/tracker/?func=detail&aid=2822462&group_id=46652&atid=446895
+#Author: A Mennucc
 diff -ur freevo.orig/util/fileops.py freevo/util/fileops.py
 --- freevo/src/util/fileops.py	2009-04-11 16:58:01.000000000 +0200
 +++ freevo/src/util/fileops.py	2009-06-26 23:44:06.000000000 +0200

Added: packages/freevo/trunk/debian/patches/dvbstreamer_spaces_in_service.diff
===================================================================
--- packages/freevo/trunk/debian/patches/dvbstreamer_spaces_in_service.diff	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/dvbstreamer_spaces_in_service.diff	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,13 @@
+#Bug: https://sourceforge.net/tracker/?func=detail&aid=2943178&group_id=46652&atid=446895
+#Author: A Mennucc
+--- a/src/tv/plugins/dvbstreamer/comms.py~	2008-05-03 14:21:08.000000000 +0200
++++ b/src/tv/plugins/dvbstreamer/comms.py	2009-09-02 09:02:22.000000000 +0200
+@@ -85,7 +85,7 @@
+         """
+         Select the primary service.
+         """
+-        (errcode, errmsg, msg) = self.execute_command('select ' + service, True)
++        (errcode, errmsg, msg) = self.execute_command('select "' + service + '"', True)
+         if errcode != 0:
+             raise RuntimeError, errmsg
+ 

Added: packages/freevo/trunk/debian/patches/encodingcore_no_print.diff
===================================================================
--- packages/freevo/trunk/debian/patches/encodingcore_no_print.diff	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/encodingcore_no_print.diff	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,57 @@
+#Bug: https://sourceforge.net/tracker/?func=detail&aid=2943181&group_id=46652&atid=446895
+#Author: A Mennucc
+--- freevo/src/encodingcore.py.orig	2010-01-24 16:43:34.339159956 +0100
++++ freevo/src/encodingcore.py	2010-01-24 16:54:14.343159417 +0100
+@@ -37,7 +37,7 @@
+ from time import sleep
+ import sys, os, re #, ConfigParser, copy
+ from subprocess import Popen, PIPE
+-from pprint import pprint
++from pprint import pformat
+ from copy import copy
+ from string import split, join
+ from util.misc import uniquify_filename
+@@ -447,8 +447,8 @@
+             if id_match:
+                 id_info[id_match.groups()[0]] = id_match.groups()[1]
+ 
+-        if config.DEBUG >= 2:
+-            print 'id_info:',; pprint(id_info)
++                
++        _debug_('id_info:'+pformat(id_info))
+ 
+         self.id_info = id_info
+ 
+@@ -500,7 +500,6 @@
+                     shutil.copy(capture, vfs.getoverlay(self.output))
+                     _debug_('copied %r to %r' % (capture, vfs.getoverlay(self.output)))
+                 except Exception, why:
+-                    print why
+                     _debug_('%s' % why, DINFO)
+                     _debug_('unable to write file %r' % self.output, DWARNING)
+         else:
+@@ -557,7 +556,6 @@
+         Parses Mplayer output to obtain ideal cropping parameters, and do
+         PAL/NTSC detection from QuickRip, heavily adapted, new algo.
+         """
+-        #print '_cropdetect_parse(self, lines=%r, data=%r)' % (lines, data)
+ 
+         re_crop = re.compile('.*-vf crop=(\d*:\d*:\d*:\d*).*')
+         re_ntscprog = re.compile('24fps progressive NTSC content detected')
+@@ -1070,12 +1068,10 @@
+ 
+         #get the first queued object
+         self.currentjob = self.qlist[0]
+-        if config.DEBUG >= 2:
+-            #print 'self.currentjob:',; pprint(self.currentjob.__dict__)
+-            #print 'self.currentjob.thread:',; pprint(self.currentjob.thread.__dict__)
+-            print 'self.currentjob.idnr:', self.currentjob.idnr
+-            print 'self.currentjob.status:', self.currentjob.status
+-            print 'self.currentjob.thread.returncode:', self.currentjob.thread.returncode
++        _debug_('self.currentjob.idnr: '+repr(self.currentjob.idnr))
++        _debug_('self.currentjob.status: '+repr(self.currentjob.status))
++        if hasattr(self.currentjob,'thread')
++            _debug_('self.currentjob.thread.returncode: '+repr(self.currentjob.thread.returncode))
+ 
+         _debug_('PID %s' % self.currentjob.pid)
+ 

Added: packages/freevo/trunk/debian/patches/encodingcore_report_failures.diff
===================================================================
--- packages/freevo/trunk/debian/patches/encodingcore_report_failures.diff	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/encodingcore_report_failures.diff	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,19 @@
+#Bug: https://sourceforge.net/tracker/?func=detail&aid=2943182&group_id=46652&atid=446895
+#Author: A Mennucc
+--- freevo/src/encodingcore.py.orig	2010-01-24 17:46:35.883938016 +0100
++++ freevo/src/encodingcore.py	2010-01-24 18:00:37.163163577 +0100
+@@ -1080,4 +1077,14 @@
+         unique_output = uniquify_filename(output)
+ 
++        if hasattr(self.currentjob,'thread'):
++            if self.currentjob.thread.returncode:
++                _debug_('Failed job:'+ ' '.join(self.currentjob.thread.command), DWARNING)
++                #we are done with this job, remove it
++                del self.qlist[0]
++                del self.qdict[self.currentjob.idnr]
++                #currently, keep running  until the queue is empty
++                self._runQueue()
++                return
++
+         if self.currentjob.status == status.vpassfinal:
+             _debug_('Job %s finished' % self.currentjob.idnr, DINFO)

Added: packages/freevo/trunk/debian/patches/encodingcore_video_copy_noargs.diff
===================================================================
--- packages/freevo/trunk/debian/patches/encodingcore_video_copy_noargs.diff	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/encodingcore_video_copy_noargs.diff	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,16 @@
+#Bug: https://sourceforge.net/tracker/?func=detail&aid=2943184&group_id=46652&atid=446895
+#Author: A Mennucc
+--- x/src/encodingcore.py.orig	2009-09-20 18:24:53.000000000 +0200
++++ x/src/encodingcore.py	2009-10-04 15:00:57.000000000 +0200
+@@ -811,8 +812,9 @@
+ 
+         # set video encoder options
+         if self.altprofile is None:
+-            args = [
+-                '-ovc', mappings['vcodec'][self.vcodec][0], mappings['vcodec'][self.vcodec][1],
++            args = [ '-ovc', mappings['vcodec'][self.vcodec][0] ,]
++            if self.vcodec != 'copy':
++                args += [ mappings['vcodec'][self.vcodec][1],
+                         mappings['vcodec'][self.vcodec][2] % (self.vbrate, self.threads, vpass, aspect ) ]
+         else:  # Allow encoder options from client
+             aprofile = '%s:vbitrate=%s:threads=%s%s%s' % (self.altprofile, self.vbrate, self.threads, vpass, aspect)

Added: packages/freevo/trunk/debian/patches/imdb-html5lib.patch
===================================================================
--- packages/freevo/trunk/debian/patches/imdb-html5lib.patch	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/imdb-html5lib.patch	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,304 @@
+#Bug: http://sourceforge.net/tracker/?func=detail&aid=2924872&group_id=46652&atid=446895
+#Author: Duncan Webb
+#Origin: upstream SVN r11651
+Index: src/helpers/imdb.py
+===================================================================
+--- x/src/helpers/imdb.py	(revision 11608)
++++ x/src/helpers/imdb.py	(working copy)
+@@ -53,19 +53,19 @@
+     parser = OptionParser(version='%prog 1.0', conflict_handler='resolve', usage="""
+ Search IMDB for a movie or a TV show
+ 
+-freevo imdb [options] <search> [<output> <video file> [<video file>]]
++freevo imdb [options] | [<result> <fxd file> <video file> [<video file>]]
+ 
+-Generate <output>.fxd for the movie.  Files is a list of files that belongs to
+-this movie.  Use [dvd|vcd] to add the whole disc or use [dvd|vcd][title] to add
+-a special DVD or VCD title to the list of files""")
++Generate a fxd for the movie.  Files is a list of files that belongs to this
++movie.  Use [dvd|vcd] to add the whole disc or use [dvd|vcd][title] to add a
++special DVD or VCD title to the list of files""")
+     parser.add_option('-v', '--verbose', action='count', default=0,
+         help='set the level of verbosity [default:%default]')
+     parser.add_option('-s', '--search', action='store_true', dest='search', default=False,
+         help='search imdb for string [default:%default]')
+     parser.add_option('-g', '--guess', action='store_true', dest='guess', default=False,
+         help='search imdb for possible filename match [default:%default]')
+-    parser.add_option('--tv', action='store_true', dest='tv', default=False,
+-        help='specify the search is a tv programme [default:%default]')
++    parser.add_option('--tv', action='store', dest='tv', default=None,
++        help='specify the id of a tv programme for a eipsode search [default:%default]')
+     parser.add_option('--season', dest='season', default=None,
+         help='specify the season in the search [default:%default]')
+     parser.add_option('--episode', dest='episode', default=None,
+@@ -116,7 +116,9 @@
+         sys.exit(u'--search requires <search pattern>')
+     elif opts.guess and len(args) < 1:
+         sys.exit(u'--guess requires <guess pattern>')
+-    tv_marker = (opts.tv or opts.season or opts.episode) and '"' or ''
++    #elif opts.tv and len(args) < 1:
++    #    sys.exit(u'--tv requires <imdb id>')
++    tv_marker = (opts.season or opts.episode) and '"' or ''
+ 
+     if opts.rom_drive is not None:
+         driveset = True
+@@ -176,6 +178,23 @@
+             print '%s' % title.encode(opts.encoding)
+         sys.exit(0)
+ 
++    if opts.tv:
++        print "Searching IMDB for '%s' season:%s episode:%s..." % (opts.tv, opts.season, opts.episode)
++        results = fxd.getIMDBid(opts.tv, opts.season, opts.episode)
++        if len(results) == 0:
++            print 'No results'
++        #for result in results:
++        #    if result[3]:
++        #        title = 'http://www.imdb.com/title/tt%s/  %s  %s (%s) %s' % (result[:1] + result[:4])
++        #    elif result[2]:
++        #        title = 'http://www.imdb.com/title/tt%s/  %s  %s (%s)' % (result[:1] + result[:3])
++        #    else:
++        #        title = 'http://www.imdb.com/title/tt%s/  %s  %s' % (result[:1] + result[:2])
++        #    title = results
++        title = 'http://www.imdb.com/title/tt%s/  %s' % (results, results)
++        print '%s' % title.encode(opts.encoding)
++        sys.exit(0)
++
+     # normal usage
+     if len(args) < 3:
+         sys.exit(u'requires <imdb id> <fxd filename> <video file>|<cd id>')
+Index: src/util/fxdimdb.py
+===================================================================
+--- x/src/util/fxdimdb.py	(revision 11608)
++++ x/src/util/fxdimdb.py	(working copy)
+@@ -48,8 +48,15 @@
+ import codecs
+ import os
+ import traceback
+-from BeautifulSoup import BeautifulSoup, NavigableString
+-import HTMLParser
++from pprint import pprint, pformat
++try:
++    from html5lib import HTMLParser, treebuilders
++    from html5lib.treebuilders.soup import NavigableString
++    using_html5lib = True
++except ImportError:
++    import HTMLParser
++    from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup, NavigableString
++    using_html5lib = False
+ 
+ import config
+ import util
+@@ -232,6 +239,7 @@
+         response.close()
+ 
+         _debug_('id_list has %s items' % (len(self.id_list)))
++        #print 'id_list=%s' % (pformat(self.id_list))
+         if len(self.id_list) > 20:
+             # too many results, check if there are stupid results in the list
+             words = []
+@@ -311,7 +319,11 @@
+         dvd = 0
+ 
+         try:
+-            soup = BeautifulSoup(results.read(), convertEntities='xml')
++            if using_html5lib:
++                parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++                soup = parser.parse(results.read())
++            else:
++                soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+         except UnicodeDecodeError:
+             print "Unicode error: check that /usr/lib/python2.x/site.py has the correct default encoding"
+             traceback.print_exc()
+@@ -336,68 +348,61 @@
+             self.info['year'] = y[1:-1]
+         except (AttributeError, TypeError, ValueError):
+             self.info['title'] = self.title
+-            self.info['year'] = title.find('a').string.strip()
++            try:
++                self.info['year'] = title.find('a').contents[0].strip()
++            except AttributeError:
++                self.info['year'] = ''
+ 
+         # Find the <div> with class info, each <h5> under this provides info
++        wanted_keys = ('release_date', 'genre', 'tagline', 'plot', 'plot_keywords',
++                       'also_known_as', 'mpaa', 'runtime', 'country', 'language', 
++                       'color', 'aspect_ratio', 'sound_mix', 'certification',
++                       )
++        
+         for info in main.findAll('div', {'class' : 'info'}):
+             infoh5 = info.find('h5')
+             if not infoh5:
+                 continue
+             try:
+-                infostr = infoh5.next
+-                key = infostr.string.strip(':').lower().replace(' ', '_')
+-                nextsibling = nextsibling = infoh5.nextSibling.strip()
+-                sections = info.findAll('a', { 'href' : re.compile('/Sections') })
+-                lists = info.findAll('a', { 'href' : re.compile('/List') })
+-                if len(nextsibling) > 0:
+-                    self.info[key] = nextsibling
++                infostr = infoh5.find(text=True)
++                key = infostr.strip().strip(':').lower().replace(' ', '_')
++                if key not in wanted_keys:
++                    continue
++                content = info.find('div', {'class' : 'info-content'})
++                infocontent = content.find(text=True)
++                if infocontent:
++                    infocontent = infocontent.strip()
++                sections = info.findAll('a', { 'href' : re.compile('^/Sections') })
++                lists = info.findAll('a', { 'href' : re.compile('^/List') })
++                keywords = info.findAll('a', { 'href' : re.compile('^/keyword') })
++                #print 'key=%s content=%r keywords=%r sections=%r lists=%r' % (key, infocontent, keywords, sections, lists)
++                if len(infocontent) > 0:
++                    self.info[key] = infocontent
+                 elif len(sections) > 0:
+                     items = []
+                     for item in sections:
+-                        items.append(item.string)
++                        items.append(item.contents[0].strip())
+                     self.info[key] = ' / '.join(items)
+                 elif len(lists) > 0:
+                     items = []
+                     for item in lists:
+-                        items.append(item.string)
++                        items.append(item.contents[0].strip())
+                     self.info[key] = ' / '.join(items)
++                elif len(keywords) > 0:
++                    items = []
++                    for item in keywords:
++                        items.append(item.contents[0].strip())
++                    self.info[key] = ' / '.join(items)
+             except:
+                 pass
+ 
+-        # Find Plot Outline/Summary:
+-        # Normally the tag is named "Plot Outline:" - however sometimes
+-        # the tag is "Plot Summary:" or just "Plot:". Search for all strings.
+-        imdb_result = soup.find(text='Plot Outline:')
+-        if not imdb_result:
+-            imdb_result = soup.find(text='Plot Summary:')
+-        if not imdb_result:
+-            imdb_result = soup.find(text='Plot:')
+-        if imdb_result:
+-            self.info['plot'] = imdb_result.next.strip()
+-        else:
+-            self.info['plot'] = u''
+-
+-        # Find tagline - sometimes the tagline is missing.
+-        # Use an empty string if no tagline could be found.
+-        imdb_result = soup.find(text='Tagline:')
+-        if imdb_result:
+-            self.info['tagline'] = imdb_result.next.strip()
+-        else:
+-            self.info['tagline'] = u''
+-
+         rating = soup.find(text='User Rating:').findNext(text=re.compile('/10'))
+-        if rating:
++        try:
+             votes = rating.findNext('a')
+-            self.info['rating'] = rating.strip() + ' (' + votes.string.strip() + ')'
+-        else:
++            self.info['rating'] = rating.strip() + ' (' + votes.contents[0].strip() + ')'
++        except AttributeError:
+             self.info['rating'] = ''
+ 
+-        runtime = soup.find(text='Runtime:')
+-        if runtime and runtime.next:
+-            self.info['runtime'] = runtime.next.strip()
+-        else:
+-            self.info['runtime'] = ''
+-
+         # Replace special characters in the items
+         for (k,v) in self.info.items():
+             self.info[k] = self.convert_entities(v)
+@@ -794,10 +799,14 @@
+         _debug_('parsesearchdata(results=%r, url=%r, id=%r)' % (results, url, id))
+ 
+         self.id_list = []
+-        m = re.compile('/title/tt([0-9]*)/')
+-        y = re.compile('\(([^)]+)\)')
++        m = re.compile('/title/tt(\d+)/')
++        y = re.compile('\((\d+)\) *(.*)')
+         try:
+-            soup = BeautifulSoup(results.read(), convertEntities='xml')
++            if using_html5lib:
++                parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++                soup = parser.parse(results.read())
++            else:
++                soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+         except HTMLParser.HTMLParseError, why:
+             traceback.print_exc()
+             _debug_('Cannot parse %r: %s' % (url, why), DWARNING)
+@@ -806,28 +815,37 @@
+             traceback.print_exc()
+             _debug_('Cannot parse %r: %s' % (url, why), DWARNING)
+             return self.id_list
+-        items = soup.findAll('a', href=re.compile('/title/tt'))
++        items = soup.findAll('a', href=re.compile('^/title/tt'))
+         ids = set([])
+         for item in items:
+-            idm = m.search(item['href'])
++            idm = item.attrMap['href']
+             if not idm:
+                 continue
+-            if isinstance(item.next.next, NavigableString):
+-                yrm = y.findall(item.next.next)
+-
+-            id = idm.group(1)
+-            name = item.string
+-            # skip empty names
+-            if not name:
++            m_match = m.match(idm)
++            if not m_match:
++                # skip invalid titles
+                 continue
+-            # skip duplicate ids
++            id = m_match.group(1)
+             if id in ids:
++                # skip duplicate ids
+                 continue
++            name = item.contents[0]
++            if not isinstance(name, NavigableString):
++                # skip empty names
++                continue
++            if isinstance(item.next.next, NavigableString):
++                yrm = item.next.next.strip()
+             ids.add(id)
+-            year = len(yrm) > 0 and yrm[0] or '0000'
+-            type = len(yrm) > 1 and yrm[1] or ''
++            y_match = y.match(yrm)
++            if y_match:
++                year = y_match.group(1)
++                type = y_match.group(2)
++            else:
++                year = '0000'
++                type = ''
+             #print 'url', item['href']
+             #print item.parent.findChildren(text=re.compile('[^ ]'))
++            #print 'id=%s name=%s year=%s type=%s' % (id, name, year, type)
+             self.id_list += [ ( id, name, year, type ) ]
+ 
+         for item in self.id_list:
+@@ -840,7 +858,11 @@
+         Returns a new id for getIMDBid with TV series episode data
+         """
+         try:
+-            soup = BeautifulSoup(results.read(), convertEntities='xml')
++            if using_html5lib:
++                parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++                soup = parser.parse(results.read())
++            else:
++                soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+         except UnicodeDecodeError:
+             print "Unicode error; check that /usr/lib/python2.x/site.py has the correct default encoding"
+             pass
+@@ -968,9 +990,6 @@
+         self.image = vfs.basename(self.image)
+ 
+         _debug_('Downloaded cover image from %s' % (self.image_url))
+-        print "Freevo knows nothing about the copyright of this image, please"
+-        print "go to %s to check for more information about private." % self.image_url
+-        print "use of this image"
+ 
+ 
+     def str2XML(self, line):

Modified: packages/freevo/trunk/debian/patches/series
===================================================================
--- packages/freevo/trunk/debian/patches/series	2010-01-23 18:48:37 UTC (rev 177)
+++ packages/freevo/trunk/debian/patches/series	2010-01-31 11:53:12 UTC (rev 178)
@@ -6,3 +6,11 @@
 config_py.diff
 local_conf_py_example_remarks.diff
 cdrom.patch
+weather.diff
+dvbstreamer_spaces_in_service.diff
+encodingcore_video_copy_noargs.diff
+encodingcore_no_print.diff
+encodingcore_report_failures.diff
+imdb-html5lib.patch
+twisted-web-9.diff
+

Added: packages/freevo/trunk/debian/patches/twisted-web-9.diff
===================================================================
--- packages/freevo/trunk/debian/patches/twisted-web-9.diff	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/twisted-web-9.diff	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,46 @@
+#Bug: http://sourceforge.net/tracker/?func=detail&aid=2936634&group_id=46652&atid=446895
+#Author: A Mennucc
+--- x/src/www/web_types.py.orig	2010-01-21 23:11:54.930969214 +0100
++++ x/src/www/web_types.py	2010-01-21 23:23:34.342726782 +0100
+@@ -36,7 +36,6 @@
+ import config
+ import socket
+ 
+-from twisted.web.woven import page
+ from twisted.web.resource import Resource
+ from tv.record_client import RecordClient
+ 
+@@ -71,23 +70,6 @@
+ 
+ 
+ 
+-class FreevoPage(page.Page):
+-    """
+-    """
+-    def __init__(self, model=None, template=None):
+-        #print 'FreevoPage.__init__(model=%r, template=%r)' % (model, template)
+-
+-        if not model:
+-            model = {'foo': 'bar'}
+-        if not template:
+-            template = '<html><head><title>ERROR</title></head>' + \
+-                       '<body>ERROR: no template</body></html>'
+-
+-        page.Page.__init__(self, model, template=template)
+-
+-        self.addSlash = 0
+-
+-
+ class FreevoResource(Resource):
+     """
+     Base class of webpages which handels the authentication.
+--- freevo/src/www/htdocs/guide.rpy~	2009-02-19 18:59:44.000000000 +0100
++++ freevo/src/www/htdocs/guide.rpy	2010-01-21 23:29:00.274594734 +0100
+@@ -32,7 +32,6 @@
+ import sys, string
+ import time
+ 
+-from twisted.web.woven import page
+ 
+ import config
+ import util.tv_util as tv_util

Added: packages/freevo/trunk/debian/patches/weather.diff
===================================================================
--- packages/freevo/trunk/debian/patches/weather.diff	                        (rev 0)
+++ packages/freevo/trunk/debian/patches/weather.diff	2010-01-31 11:53:12 UTC (rev 178)
@@ -0,0 +1,23 @@
+#Bug: https://sourceforge.net/tracker/?func=detail&aid=2943186&group_id=46652&atid=446895
+#Author: A Mennucc
+--- x/src/plugins/idlebar/weather.py.orig	2009-05-25 21:04:41.000000000 +0200
++++ x/src/plugins/idlebar/weather.py	2010-01-30 11:57:20.442851457 +0100
+@@ -162,16 +162,16 @@
+         to cache the date somewhere.
+         """
+         _debug_('checkweather()', 2)
++        temperature, icon = '?', 'na.png'
+         try:
+-            temperature, icon = '?', 'na.png'
+             if os.path.isfile(self.cachefile):
+                 cachefd = open(self.cachefile, 'r')
+                 newlist = map(string.rstrip, cachefd.readlines())
+                 temperature, icon = newlist
+                 cachefd.close()
+-            return temperature, icon
+         except Exception, why:
+             _debug_(why, DERROR)
++        return temperature, icon
+ 
+ 
+     def calc_positions(self, osd, image_w, image_h, text_w, text_h):




More information about the Pkg-freevo-commits mailing list