Update of /cvsroot/freevo/freevo/src/video/plugins
In directory sc8-pr-cvs1:/tmp/cvs-serv27268/src/video/plugins
Modified Files:
mover.py
Log Message:
patch from Eirik Meland
Index: mover.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/plugins/mover.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** mover.py 13 Sep 2003 10:08:24 -0000 1.3
--- mover.py 14 Oct 2003 18:15:59 -0000 1.4
***************
*** 9,19 ****
# given directory.
#
- # Activate:
- # plugin.activate('video.mover', args=('from-dir', 'to-dir'))
- #
# Todo:
#
# -----------------------------------------------------------------------
# $Log$
# Revision 1.3 2003/09/13 10:08:24 dischi
# i18n support
--- 9,19 ----
# given directory.
#
# Todo:
#
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.4 2003/10/14 18:15:59 dischi
+ # patch from Eirik Meland
+ #
# Revision 1.3 2003/09/13 10:08:24 dischi
# i18n support
***************
*** 52,64 ****
class PluginInterface(plugin.ItemPlugin):
! def __init__(self, from_dir, to_dir):
plugin.ItemPlugin.__init__(self)
self.from_dir = from_dir
self.to_dir = to_dir
def actions(self, item):
self.item = item
! if item.type == 'video' and item.mode == 'file' and \
! item.parent.type == 'dir' and item.parent.dir == self.from_dir:
return [ (self.mover_to_series,
_('Move to [%s]') % os.path.basename(self.to_dir)) ]
--- 52,111 ----
class PluginInterface(plugin.ItemPlugin):
! """
! Plugin to move video files
!
! Activate:
! plugin.activate('video.mover', args=('from-dir', 'to-dir'))
!
! from_dir: from which directory the files should be moved from
! to_dir: to which directory the files should be moved to
!
! Optional parameters:
! recursive (boolean): should the plugin work for every subdirectory of
! the from-directory (defaults to False)
!
! This parameter can be used to make a "safe delete function":
! map(lambda dir: plugin.activate('video.mover', args=(dir[1],
! '/mnt/media/trash',
! True)),
! DIR_MOVIES)
!
!
! makedirs (boolean): should freevo create the to-dir if it doesn't exist
! (defaults to False)
!
! This parameter can be used to move seen tv-episodes/movies
! into a subdirectory ('seen'):
!
! map(lambda dir: plugin.activate('video.mover', args=(dir[1],
! 'seen',
! True,
! True)),
! DIR_MOVIES)
!
! When to-dir is not specified as an absolute path, the mover will try
! to locate it in the current dir. If makedirs==True and to-dir
! doesn't exist, it will be created in the current-dir.
!
! """
! def __init__(self, from_dir, to_dir, recursive=False, makedirs=False):
plugin.ItemPlugin.__init__(self)
self.from_dir = from_dir
self.to_dir = to_dir
+ self.recursive = recursive
+ self.makedirs = makedirs
def actions(self, item):
self.item = item
! if ( item.type == 'video'
! and item.mode == 'file'
! and item.parent.type == 'dir'
! # don't bother moving to current-dir
! and self.to_dir != os.path.dirname(self.item.filename)
! # recursive
! and ( ( self.recursive
! and os.path.commonprefix( ( item.parent.dir, self.from_dir)) ==
self.from_dir )
! # or absolute
! or ( item.parent.dir == self.from_dir))):
return [ (self.mover_to_series,
_('Move to [%s]') % os.path.basename(self.to_dir)) ]
***************
*** 66,69 ****
--- 113,147 ----
def mover_to_series(self, arg=None, menuw=None):
+ # make to_dir an absolute path
+ if not os.path.isabs(self.to_dir):
+ self.to_dir = os.path.join(os.path.dirname(self.item.filename),
+ self.to_dir)
+
+ # make to_dir if it doesn't exist and makedirs==True
+ if not os.path.exists(self.to_dir):
+ if os.path.exists(os.path.dirname(self.to_dir)):
+ if self.makedirs:
+ os.makedirs(self.to_dir)
+ else:
+ _debug_("Path doesn't exist, and makedirs=%s" % self.makedirs)
+ menuw.delete_menu(menuw=menuw)
+ return
+ elif not os.path.isdir(self.to_dir):
+ _debug_("%s is not a dir" % self.to_dir)
+ return
+
+ # move file
os.system('mv "%s" "%s"' % (self.item.filename, self.to_dir))
+
+ # move fxd file
+ if hasattr(self.item, 'fxd_file'):
+ os.system('mv "%s" "%s"' % (self.item.fxd_file, self.to_dir))
+
+ # move picture(s)
+ base = os.path.splitext(self.item.filename)[0]
+ for suffix in ('jpg', 'png'):
+ file = base + '.' + suffix
+ if os.path.isfile(file):
+ os.system('mv "%s" "%s"' % (file, self.to_dir))
+
menuw.delete_menu(menuw=menuw)
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog