Author: duncan
Date: Tue Mar 11 14:57:50 2008
New Revision: 10502

Log:
[ 1910667 ] Webserver crash when searching
Fix applied, found other bugs too


Modified:
   branches/rel-1/freevo/src/helpers/recordserver.py
   branches/rel-1/freevo/src/helpers/webserver.py
   branches/rel-1/freevo/src/tv/favoriteitem.py
   branches/rel-1/freevo/src/tv/plugins/view_favorites.py
   branches/rel-1/freevo/src/tv/record_client.py
   branches/rel-1/freevo/src/tv/record_types.py
   branches/rel-1/freevo/src/www/htdocs/edit_favorite.rpy
   branches/rel-1/freevo/src/www/htdocs/favorites.rpy
   branches/rel-1/freevo/src/www/htdocs/library.rpy
   branches/rel-1/freevo/src/www/htdocs/record.rpy
   branches/rel-1/freevo/src/www/htdocs/search.rpy

Modified: branches/rel-1/freevo/src/helpers/recordserver.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/recordserver.py   (original)
+++ branches/rel-1/freevo/src/helpers/recordserver.py   Tue Mar 11 14:57:50 2008
@@ -798,7 +798,7 @@
 
 
     @kaa.rpc.expose('findMatches')
-    def findMatches(self, find=None, movies_only=None):
+    def findMatches(self, find=None, movies_only=False):
         _debug_('findMatches(find=%r, movies_only=%r)' % (find, movies_only), 
1)
         global guide
 

Modified: branches/rel-1/freevo/src/helpers/webserver.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/webserver.py      (original)
+++ branches/rel-1/freevo/src/helpers/webserver.py      Tue Mar 11 14:57:50 2008
@@ -72,6 +72,7 @@
         request.postpath.pop(0)
         request.path = '/'+'/'.join(request.prepath+request.postpath)
 
+
 def main():
     # the start and stop stuff will be handled from the freevo script
 
@@ -96,7 +97,6 @@
 
     root.putChild('vhost', vhost.VHostMonsterResource())
     rewriter =  rewrite.RewriterResource(root, helpimagesrewrite)
-    #Site(self, resource, logPath=None, timeout=60 * 60 * 12)
     site = server.Site(rewriter)
 
     try:
@@ -114,5 +114,7 @@
         _debug_('main() starting')
         main()
         _debug_('main() finished')
+    except SystemExit:
+        pass
     except Exception, e:
         traceback.print_exc()

Modified: branches/rel-1/freevo/src/tv/favoriteitem.py
==============================================================================
--- branches/rel-1/freevo/src/tv/favoriteitem.py        (original)
+++ branches/rel-1/freevo/src/tv/favoriteitem.py        Tue Mar 11 14:57:50 2008
@@ -129,8 +129,8 @@
 
         # XXX: priorities aren't quite supported yet
         if 0:
-            (got_favs, favs) = self.recordclient.getFavoritesNow()
-            if got_favs and len(favs) > 1:
+            (status, favorites) = self.recordclient.getFavoritesNow()
+            if status and len(favorites) > 1:
                 items.append(menu.MenuItem(_('Modify priority'), 
action=self.mod_priority))
 
 

Modified: branches/rel-1/freevo/src/tv/plugins/view_favorites.py
==============================================================================
--- branches/rel-1/freevo/src/tv/plugins/view_favorites.py      (original)
+++ branches/rel-1/freevo/src/tv/plugins/view_favorites.py      Tue Mar 11 
14:57:50 2008
@@ -93,8 +93,8 @@
         _debug_('get_items()', 2)
         items = []
 
-        favorites = self.recordclient.getFavoritesNow()
-        if favorites:
+        (status, favorites) = self.recordclient.getFavoritesNow()
+        if status:
             f = lambda a, b: cmp(a.priority, b.priority)
             favs = favorites.values()
             favs.sort(f)

Modified: branches/rel-1/freevo/src/tv/record_client.py
==============================================================================
--- branches/rel-1/freevo/src/tv/record_client.py       (original)
+++ branches/rel-1/freevo/src/tv/record_client.py       Tue Mar 11 14:57:50 2008
@@ -252,11 +252,11 @@
             return (None, why)
 
 
-    def findMatchesNow(self, title):
+    def findMatchesNow(self, title=None, movies_only=None):
         """ See if a programme is a favourite """
-        _debug_('findMatchesNow(title=%r)' % (title), 1)
+        _debug_('findMatchesNow(title=%r, movies_only=%r)' % (title, 
movies_only), 1)
         try:
-            inprogress = self.recordserver_rpc('findMatches', title)
+            inprogress = self.recordserver_rpc('findMatches', title, 
movies_only)
             if inprogress is None:
                 return (None, self.recordserverdown)
             inprogress.wait()
@@ -326,7 +326,7 @@
             inprogress.wait()
             result = inprogress.get_result()
             _debug_('getFavoritesNow.result=%r' % (result,), 1)
-            return result
+            return (True, result)
         except Exception, why:
             _debug_('getFavoritesNow: %s' % (why), DERROR)
             return (None, why)
@@ -623,12 +623,17 @@
         raise SystemExit
 
     elif function == "findprognow":
-        result = rc.findProgNow(args)
+        result = rc.findProgNow(args[0], args[1])
         print '%s: result: %r' % (rc.timeit(start), result)
         raise SystemExit
 
     elif function == "findmatchesnow":
-        result = rc.findMatchesNow(args)
+        if len(args) == 1:
+            result = rc.findMatchesNow(args[0])
+        elif len(args) == 2:
+            result = rc.findMatchesNow(args[0], args[1])
+        else:
+            result = rc.findMatchesNow()
         print '%s: result: %r' % (rc.timeit(start), result)
         raise SystemExit
 

Modified: branches/rel-1/freevo/src/tv/record_types.py
==============================================================================
--- branches/rel-1/freevo/src/tv/record_types.py        (original)
+++ branches/rel-1/freevo/src/tv/record_types.py        Tue Mar 11 14:57:50 2008
@@ -276,8 +276,8 @@
     """
     A favourite TV programme
     """
-    def __init__(self, name=None, prog=None, exactchan=FALSE, exactdow=FALSE, 
exacttod=FALSE, priority=0,
-        allowDuplicates=TRUE, onlyNew=FALSE):
+    def __init__(self, name=None, prog=None, exactchan=False, exactdow=False, 
exacttod=False, priority=0,
+        allowDuplicates=True, onlyNew=False):
         """ """
         _debug_('Favorite.__init__(self, name=%r, prog=%r, exactchan=%r, 
exactdow=%r, exacttod=%r, priority=%r, allowDuplicates=%r, onlyNew=%r)' % 
(name, prog, exactchan, exactdow, exacttod, priority, allowDuplicates, 
onlyNew), 1)
         self.TYPES_VERSION = TYPES_VERSION
@@ -327,8 +327,8 @@
         """ """
         _debug_('ScheduledTvProgram.__init__()', 1)
         self.tunerid      = None
-        self.isRecording  = FALSE
-        self.isFavorite   = FALSE
+        self.isRecording  = False
+        self.isFavorite   = False
         self.favoriteName = None
-        self.removed      = FALSE
+        self.removed      = False
         self.quality      = self.HIGH_QUALITY

Modified: branches/rel-1/freevo/src/www/htdocs/edit_favorite.rpy
==============================================================================
--- branches/rel-1/freevo/src/www/htdocs/edit_favorite.rpy      (original)
+++ branches/rel-1/freevo/src/www/htdocs/edit_favorite.rpy      Tue Mar 11 
14:57:50 2008
@@ -68,8 +68,11 @@
         if isinstance( name, str ):
             name = Unicode( name, 'latin-1' )
 
-        favs = self.recordclient.getFavoritesNow()
-        num_favorites = len(favs)
+        (status, favorites) = self.recordclient.getFavoritesNow()
+        if status:
+            num_favorites = len(favorites)
+        else:
+            num_favorites = 0
 
         if action == 'add' and chan and start:
             (result, prog) = self.recordclient.findProgNow(chan, start)

Modified: branches/rel-1/freevo/src/www/htdocs/favorites.rpy
==============================================================================
--- branches/rel-1/freevo/src/www/htdocs/favorites.rpy  (original)
+++ branches/rel-1/freevo/src/www/htdocs/favorites.rpy  Tue Mar 11 14:57:50 2008
@@ -85,7 +85,7 @@
         else:
             pass
 
-        favorites = self.recordclient.getFavoritesNow()
+        (status, favorites) = self.recordclient.getFavoritesNow()
 
 
         days = {

Modified: branches/rel-1/freevo/src/www/htdocs/library.rpy
==============================================================================
--- branches/rel-1/freevo/src/www/htdocs/library.rpy    (original)
+++ branches/rel-1/freevo/src/www/htdocs/library.rpy    Tue Mar 11 14:57:50 2008
@@ -353,8 +353,8 @@
 
                 #generate our favorites regular expression
                 favre = ''
-                favorites = self.recordclient.getFavoritesNow()
-                if result:
+                (status, favorites) = self.recordclient.getFavoritesNow()
+                if status:
                     favs = favorites.values()
                 else:
                     favs = []

Modified: branches/rel-1/freevo/src/www/htdocs/record.rpy
==============================================================================
--- branches/rel-1/freevo/src/www/htdocs/record.rpy     (original)
+++ branches/rel-1/freevo/src/www/htdocs/record.rpy     Tue Mar 11 14:57:50 2008
@@ -90,7 +90,7 @@
         (status, schedule) = self.recordclient.getScheduledRecordingsNow()
         if status:
             progs = schedule.getProgramList()
-            favs = self.recordclient.getFavoritesNow()
+            (status, favorites) = self.recordclient.getFavoritesNow()
 
         fv.printHeader(_('Scheduled Recordings'), 'styles/main.css', 
selected=_('Scheduled Recordings'))
 
@@ -113,15 +113,11 @@
         for prog in progl:
             status = 'basic'
 
-            (isFav, message) = self.recordclient.isProgAFavoriteNow(prog, favs)
+            (isFav, message) = self.recordclient.isProgAFavoriteNow(prog, 
favorites)
             if isFav:
                 status = 'favorite'
-            try:
-                if prog.isRecording == TRUE:
-                    status = 'recording'
-            except:
-                # sorry, have to pass without doing anything.
-                pass
+            if hasattr(prog, 'isRecording') and prog.isRecording:
+                status = 'recording'
 
             fv.tableRowOpen('class="chanrow"')
             fv.tableCell(time.strftime('%b %d '+config.TV_TIME_FORMAT, 
time.localtime(prog.start)),

Modified: branches/rel-1/freevo/src/www/htdocs/search.rpy
==============================================================================
--- branches/rel-1/freevo/src/www/htdocs/search.rpy     (original)
+++ branches/rel-1/freevo/src/www/htdocs/search.rpy     Tue Mar 11 14:57:50 2008
@@ -64,7 +64,7 @@
         (got_matches, progs) = self.recordclient.findMatchesNow(find, 
movies_only)
 
         if got_matches:
-            (status, favs) = self.recordclient.getFavoritesNow()
+            (status, favorites) = self.recordclient.getFavoritesNow()
             (status, schedule) = self.recordclient.getScheduledRecordingsNow()
             if status:
                 rec_progs = schedule.getProgramList()
@@ -95,22 +95,20 @@
                 status = 'basic'
 
                 for rp in rec_progs.values():
-
                     if rp.start == prog.start and rp.channel_id == 
prog.channel_id:
                         status = 'scheduled'
-                        try:
-                            if rp.isRecording == TRUE:
-                                status = 'recording'
-                        except:
-                            sys.stderr.write('isRecording not set')
+                        if hasattr(rp, 'isRecording') and rp.isRecording:
+                            status = 'recording'
 
-                if self.recordclient.isProgAFavoriteNow(prog, favs):
+                if self.recordclient.isProgAFavoriteNow(prog, favorites):
                     status = 'favorite'
 
 
                 fv.tableRowOpen('class="chanrow"')
-                fv.tableCell(time.strftime('%b %d ' + config.TV_TIME_FORMAT, 
time.localtime(prog.start)), 'class="'+status+'" colspan="1"')
-                fv.tableCell(time.strftime('%b %d ' + config.TV_TIME_FORMAT, 
time.localtime(prog.stop)), 'class="'+status+'" colspan="1"')
+                fv.tableCell(time.strftime('%b %d ' + config.TV_TIME_FORMAT, 
time.localtime(prog.start)),\
+                    'class="'+status+'" colspan="1"')
+                fv.tableCell(time.strftime('%b %d ' + config.TV_TIME_FORMAT, 
time.localtime(prog.stop)),\
+                    'class="'+status+'" colspan="1"')
 
                 chan = tv_util.get_chan_displayname(prog.channel_id)
                 if not chan: chan = 'UNKNOWN'

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to