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

Reply via email to