I will do it Monday when I et back home. Thanks
Duncan Webb wrote: > Ryan Roth wrote: > >> New version >> > > Best. workaround, is to add a new tracker item and add a cross reference > to the original item. > > Will you do this here. > > Duncan > > >> ------------------------------------------------------------------------ >> >> Index: src/plugins/movequeue.py >> =================================================================== >> --- src/plugins/movequeue.py (revision 0) >> +++ src/plugins/movequeue.py (revision 0) >> @@ -0,0 +1,119 @@ >> +import os >> +import plugin >> +import config >> + >> +import rc >> +import event >> + >> +from gui import ConfirmBox >> +from gui.PopupBox import PopupBox >> +from item import Item >> +import config, menu, rc, plugin, osd, util >> + >> +class PluginInterface(plugin.MainMenuPlugin): >> + """ >> + Video File Mover With Queue >> + >> + Activate: >> + plugin.activate('video.movequeue') >> + """ >> + def __init__(self): >> + if not hasattr(config, 'VIDEO_QUEUE_DIR'): >> + self.reason = 'VIDEO_QUEUE_DIR not defined' >> + return >> + plugin.MainMenuPlugin.__init__(self) >> + >> + def items(self, parent): >> + return [ VideoQueueMainMenu(parent) ] >> + >> + >> +class QueueItem(Item): >> + """ >> + Item for the menu >> + """ >> + def __init__(self, parent): >> + Item.__init__(self, parent) >> + >> + def actions(self): >> + """ >> + return a list of actions for this item >> + """ >> + return [ ( self.runcmd , _('Run Command') ) ] >> + >> + def runcmd(self, arg=None, menuw=None): >> + """ >> + Run Move Command >> + """ >> + if self.function == 'move_queue': >> + queue_items = open('/tmp/video_move_queue','r') >> + popup = PopupBox(text=_('Moving queued files..')) >> + popup.show() >> + for line in queue_items: >> + os.system('mv "%s" "%s"' % (line[:-1], >> config.VIDEO_QUEUE_DIR)) >> + queue_items.close() >> + os.system('echo > /tmp/video_move_queue') >> + popup.destroy() >> + else: >> + what = _('Delete from queue?') >> + ConfirmBox(text=what, handler=self.delete_from_queue, >> default_choice=1).show() >> + return >> + >> + def delete_from_queue(self, arg=None, menuw=None): >> + new_file = '' >> + index = 0 >> + delete_item = open('/tmp/video_move_queue','r') >> + for line in delete_item.readlines(): >> + index = index + 1 >> + if index <> self.index: >> + new_file += line >> + delete_item.close >> + delete_item = open('/tmp/video_move_queue', 'w') >> + delete_item.write(new_file) >> + delete_item.close() >> + # >> + # really, really bad hack to redraw menu >> + # >> + rc.post_event(event.MENU_BACK_ONE_MENU) >> + rc.post_event(event.MENU_SELECT) >> + >> + return >> + >> +class VideoQueueMainMenu(Item): >> + """ >> + this is the item for the main menu. >> + """ >> + def __init__(self, parent): >> + Item.__init__(self, parent) >> + self.name = _('Video Mover Queue') >> + >> + def actions(self): >> + """ >> + return a list of actions for this item >> + """ >> + items = [ ( self.create_queue_menu , _('Video Mover Queue' )) ] >> + return items >> + >> + def create_queue_menu(self, arg=None, menuw=None): >> + queue_item = [] >> + queue_menu_items = [] >> + index = 0 >> + queue_item = QueueItem(self) >> + queue_item.name = 'Move Queue Now' >> + queue_item.function = 'move_queue' >> + queue_item.index = 0 >> + queue_menu_items += [ queue_item ] >> + queue_items = open('/tmp/video_move_queue','r') >> + for line in queue_items: >> + queue_item = QueueItem(self) >> + queue_item.name = line >> + queue_item.function = 'sub_menu' >> + index += 1 >> + queue_item.index = index >> + queue_menu_items += [ queue_item ] >> + queue_items.close() >> + if (len(queue_menu_items) == 0): >> + queue_menu_items += [menu.MenuItem(_('No queued items found'), >> menuw.goto_prev_page, 0)] >> + queue_menu = menu.Menu(_('Video Mover Queue'), queue_menu_items) >> + menuw.pushmenu(queue_menu) >> + menuw.refresh() >> + >> Index: src/video/plugins/movequeuehelper.py >> =================================================================== >> --- src/video/plugins/movequeuehelper.py (revision 0) >> +++ src/video/plugins/movequeuehelper.py (revision 0) >> @@ -0,0 +1,22 @@ >> +import os >> +import plugin >> +import config >> + >> +class PluginInterface(plugin.ItemPlugin): >> + >> + def __init__(self): >> + plugin.ItemPlugin.__init__(self) >> + >> + #Actions: >> + def actions(self,item): >> + self.item = item >> + return [ (self.queue_to_move, 'Add to queue to be moved')] >> + >> + def queue_to_move(self,arg=None, menuw=None): >> + item = self.item >> + f = file('/tmp/video_move_queue', 'a') >> + f.write(item.filename) >> + f.write('\n') >> + f.close() >> + menuw.delete_menu(arg, menuw) >> + menuw.refresh() >> >> >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys - and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Freevo-devel mailing list >> Freevo-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/freevo-devel >> > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Freevo-devel mailing list > Freevo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freevo-devel > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel