Author: dmeyer
Date: Mon Oct 17 19:03:31 2005
New Revision: 7730
Modified:
trunk/freevo-tvserver/src/favorite.py
trunk/freevo-tvserver/src/recording.py
trunk/freevo-tvserver/src/server.py
Log:
let Recordings and Favorites handle their ids internal
Modified: trunk/freevo-tvserver/src/favorite.py
==============================================================================
--- trunk/freevo-tvserver/src/favorite.py (original)
+++ trunk/freevo-tvserver/src/favorite.py Mon Oct 17 19:03:31 2005
@@ -54,10 +54,14 @@
"""
Base class for a favorite.
"""
- def __init__(self, id = -1, name = 'unknown', channels = [],
+ NEXT_ID = 0
+
+ def __init__(self, name = 'unknown', channels = [],
priority = 0, days = [], times = [], once = False,
substring = False):
- self.id = id
+ self.id = Favorite.NEXT_ID
+ Favorite.NEXT_ID += 1
+
self.name = name
self.channels = channels
self.priority = priority
@@ -95,7 +99,6 @@
"""
Parse informations from a fxd node and set the internal variables.
"""
- self.id = int(parser.getattr(node, 'id'))
for child in node.children:
for var in ('name', 'url', 'fxdname'):
if child.name == var:
Modified: trunk/freevo-tvserver/src/recording.py
==============================================================================
--- trunk/freevo-tvserver/src/recording.py (original)
+++ trunk/freevo-tvserver/src/recording.py Mon Oct 17 19:03:31 2005
@@ -68,10 +68,15 @@
"""
Base class for a recording.
"""
- def __init__(self, id = -1, name = 'unknown', channel = 'unknown',
+ NEXT_ID = 0
+
+ def __init__(self, name = 'unknown', channel = 'unknown',
priority = 0, start = 0, stop = 0, info = {},
status = SCHEDULED ):
- self.id = id
+
+ self.id = Recording.NEXT_ID
+ Recording.NEXT_ID += 1
+
self.name = name
self.channel = channel
self.priority = priority
@@ -141,7 +146,6 @@
"""
Parse informations from a fxd node and set the internal variables.
"""
- self.id = int(parser.getattr(node, 'id'))
for child in node.children:
for var in ('name', 'channel', 'status', 'subtitle', 'fxdname',
'episode', 'description'):
Modified: trunk/freevo-tvserver/src/server.py
==============================================================================
--- trunk/freevo-tvserver/src/server.py (original)
+++ trunk/freevo-tvserver/src/server.py Mon Oct 17 19:03:31 2005
@@ -82,7 +82,7 @@
# file to load / save the recordings and favorites
self.fxdfile = freevo.conf.datafile('recordserver.fxd')
# load the recordings file
- self.load(True)
+ self.load()
# timer to handle save and print debug in background
self.save_timer = OneShotTimer(self.save, False)
@@ -144,8 +144,6 @@
for f in self.favorites:
info += '%s\n' % f
log.info(info)
- log.info('next ids: record=%s favorite=%s' % \
- (self.rec_id, self.fav_id))
def check_recordings(self, force=False):
@@ -323,7 +321,7 @@
if not f.match(p.title, p.channel.id, p.start):
continue
- r = Recording(self.rec_id, p.title, p.channel.id, f.priority,
+ r = Recording(p.title, p.channel.id, f.priority,
p.start, p.stop)
if r in self.recordings:
# This does not only avoid adding recordings twice, it
@@ -337,7 +335,6 @@
String(p.title), p.start))
f.add_data(r)
self.recordings.append(r)
- self.rec_id += 1
update.append(r.short_list())
if f.once:
self.favorites.remove(f)
@@ -368,7 +365,6 @@
r = Recording()
r.parse_fxd(parser, node)
self.recordings.append(r)
- self.rec_id = max(self.rec_id, r.id + 1)
except Exception, e:
log.exception('recordserver.load_recording')
@@ -381,17 +377,14 @@
f = Favorite()
f.parse_fxd(parser, node)
self.favorites.append(f)
- self.fav_id = max(self.fav_id, f.id + 1)
except Exception, e:
log.exception('recordserver.load_favorite:')
- def load(self, rebuild=False):
+ def load(self):
"""
load the fxd file
"""
- self.rec_id = 0
- self.fav_id = 0
self.recordings = []
self.favorites = []
try:
@@ -402,12 +395,6 @@
except Exception, e:
log.exception('recordserver.load: %s corrupt:' % self.fxdfile)
- if rebuild:
- for r in self.recordings:
- r.id = self.recordings.index(r)
- for f in self.favorites:
- f.id = self.favorites.index(f)
-
def save(self, schedule=True):
"""
@@ -568,8 +555,7 @@
info['description'] = Unicode(info['description'], 'UTF-8')
log.info('recording.add: %s' % String(name))
- r = Recording(self.rec_id, name, channel, priority, start, stop,
- info = info)
+ r = Recording(name, channel, priority, start, stop, info = info)
if r in self.recordings:
r = self.recordings[self.recordings.index(r)]
@@ -579,12 +565,11 @@
# send update about the new recording
self.send_update(r.short_list())
self.check_recordings()
- return RPCReturn(self.rec_id - 1)
+ return RPCReturn(r.id)
return RPCError('Already scheduled')
self.recordings.append(r)
- self.rec_id += 1
self.check_recordings()
- return RPCReturn(self.rec_id - 1)
+ return RPCReturn(r.id - 1)
def __rpc_recording_remove__(self, addr, val):
@@ -732,11 +717,10 @@
self.parse_parameter(val, ( unicode, list, int, list, list,
bool ))
log.info('favorite.add: %s' % String(name))
- f = Favorite(self.fav_id, name, channels, priority, days, times, once)
+ f = Favorite(name, channels, priority, days, times, once)
if f in self.favorites:
return RPCError('Already scheduled')
self.favorites.append(f)
- self.fav_id += 1
return self.__rpc_favorite_update__()
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog