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