Update of /cvsroot/freevo/freevo/src/video
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26586
Modified Files:
fxdhandler.py videoitem.py
Log Message:
add set_name for tv show handling, rename id to __id__
Index: fxdhandler.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/fxdhandler.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** fxdhandler.py 14 Sep 2004 20:06:40 -0000 1.24
--- fxdhandler.py 30 Dec 2004 11:32:35 -0000 1.25
***************
*** 39,42 ****
--- 39,45 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.25 2004/12/30 11:32:35 dischi
+ # add set_name for tv show handling, rename id to __id__
+ #
# Revision 1.24 2004/09/14 20:06:40 dischi
# add doc
***************
*** 127,132 ****
image = ''
title = fxd.getattr(node, 'title')
- item.name = title
item.image = fxd.childcontent(node, 'cover-img')
if item.image:
item.image = vfs.abspath(os.path.join(dirname, item.image))
--- 130,135 ----
image = ''
title = fxd.getattr(node, 'title')
item.image = fxd.childcontent(node, 'cover-img')
+ item.set_name(title)
if item.image:
item.image = vfs.abspath(os.path.join(dirname, item.image))
***************
*** 244,248 ****
item.set_url(url, info=False)
if title:
! item.name = title
if player:
item.force_player = player
--- 247,251 ----
item.set_url(url, info=False)
if title:
! item.set_name(title)
if player:
item.force_player = player
Index: videoitem.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/videoitem.py,v
retrieving revision 1.155
retrieving revision 1.156
diff -C2 -d -r1.155 -r1.156
*** videoitem.py 28 Dec 2004 18:10:37 -0000 1.155
--- videoitem.py 30 Dec 2004 11:32:35 -0000 1.156
***************
*** 14,18 ****
# o create better 'arg' handling in play
# o maybe xine options?
- # o merge tv shows and episode/subtitle info in tv recordings
#
#
-----------------------------------------------------------------------------
--- 14,17 ----
***************
*** 70,77 ****
self.autovars = [ ('deinterlace', 0) ]
MediaItem.__init__(self, 'video', parent)
- self.set_url(url, info=parse)
-
- if info:
- self.info.set_variables(info)
self.variants = [] # if this item has variants
--- 69,72 ----
***************
*** 84,91 ****
self.mplayer_options = ''
- self.tv_show = False
-
- self.video_width = 0
- self.video_height = 0
self.selected_subtitle = None
--- 79,82 ----
***************
*** 95,123 ****
self.possible_player = []
! # find image for tv show and build new title
! if config.VIDEO_SHOW_REGEXP_MATCH(self.name) and not \
! self.network_play and config.VIDEO_SHOW_DATA_DIR:
! show_name = config.VIDEO_SHOW_REGEXP_SPLIT(self.name)
! if show_name[0] and show_name[1] and show_name[2] and
show_name[3]:
! self.name = show_name[0] + u" " + show_name[1] + u"x" + \
! show_name[2] + u" - " + show_name[3]
! image = util.getimage((config.VIDEO_SHOW_DATA_DIR + \
! show_name[0].lower()))
! if self.filename and not image:
! image = util.getimage(os.path.dirname(self.filename)+'/'+
\
! show_name[0].lower())
! if image:
! self.image = image
! if database.tv_shows.has_key(show_name[0].lower()):
! tvinfo = database.tv_shows[show_name[0].lower()]
! self.info.set_variables(tvinfo[1])
! if not self.image:
! self.image = tvinfo[0]
! self.skin_fxd = tvinfo[3]
! self.mplayer_options = tvinfo[2]
! self.tv_show = True
! self.show_name = show_name
! self.tv_show_name = show_name[0]
! self.tv_show_ep = show_name[3]
# extra infos in database.discset
--- 86,95 ----
self.possible_player = []
! # set url and parse the name
! self.set_url(url, info=parse)
!
! if info:
! # set info variables
! self.info.set_variables(info)
# extra infos in database.discset
***************
*** 129,132 ****
--- 101,151 ----
+ def set_name(self, name):
+ """
+ Set the item name and parse additional informations after title and
+ filename is set.
+ """
+ self.name = name
+ show_name = None
+ self.tv_show = False
+
+ if self.info['episode'] and self.info['subtitle']:
+ # get informations for recordings
+ show_name = (self.name, '', self.info['episode'], \
+ self.info['subtitle'])
+ elif config.VIDEO_SHOW_REGEXP_MATCH(self.name) and not \
+ self.network_play:
+ # split tv show files based on regexp
+ show_name = config.VIDEO_SHOW_REGEXP_SPLIT(self.name)
+ if show_name[0] and show_name[1] and show_name[2] and
show_name[3]:
+ self.name = show_name[0] + u" " + show_name[1] + u"x" + \
+ show_name[2] + u" - " + show_name[3]
+ else:
+ show_name = None
+
+ if show_name:
+ # This matches a tv show with a show name, an epsiode and
+ # a title of the specific episode
+ sn = String(show_name[0].lower())
+ if config.VIDEO_SHOW_DATA_DIR:
+ image = util.getimage((config.VIDEO_SHOW_DATA_DIR + sn))
+ if self.filename and not image:
+ fname = os.path.dirname(self.filename)+'/'+ sn
+ image = util.getimage(fname)
+ if image:
+ self.image = image
+ if database.tv_shows.has_key(sn):
+ tvinfo = database.tv_shows[sn]
+ self.info.set_variables(tvinfo[1])
+ if not self.image:
+ self.image = tvinfo[0]
+ self.skin_fxd = tvinfo[3]
+ self.mplayer_options = tvinfo[2]
+ self.tv_show = True
+ self.show_name = show_name
+ self.tv_show_name = show_name[0]
+ self.tv_show_ep = show_name[3]
+
+
def set_url(self, url, info=True):
"""
***************
*** 149,158 ****
self.files.append(self.filename)
elif self.url.rfind('.iso') + 4 == self.url.rfind('/'):
! # iso
self.filename = self.url[5:self.url.rfind('/')]
else:
self.filename = ''
elif url.endswith('.iso') and self.info['mime'] == 'video/dvd':
self.mimetype = 'dvd'
self.mode = 'dvd'
--- 168,179 ----
self.files.append(self.filename)
elif self.url.rfind('.iso') + 4 == self.url.rfind('/'):
! # dvd or vcd iso
self.filename = self.url[5:self.url.rfind('/')]
else:
+ # normal dvd or vcd
self.filename = ''
elif url.endswith('.iso') and self.info['mime'] == 'video/dvd':
+ # dvd iso
self.mimetype = 'dvd'
self.mode = 'dvd'
***************
*** 170,175 ****
self['deinterlace'] = 1
! def id(self):
"""
Return a unique id of the item. This id should be the same when the
--- 191,199 ----
self['deinterlace'] = 1
+ # start name parser by setting name to itself
+ self.set_name(self.name)
+
! def __id__(self):
"""
Return a unique id of the item. This id should be the same when the
***************
*** 179,186 ****
if self.subitems:
for s in self.subitems:
! ret += s.id()
if self.variants:
for v in self.variants:
! ret += v.id()
return ret
--- 203,210 ----
if self.subitems:
for s in self.subitems:
! ret += s.__id__()
if self.variants:
for v in self.variants:
! ret += v.__id__()
return ret
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog