Mercurial > vixm
view vixm/control.py @ 19:a3385f616b53
Implemented the run shell command command
author | Josef "Jeff" Sipek <jeffpc@josefsipek.net> |
---|---|
date | Sun, 20 Aug 2006 00:31:33 -0400 |
parents | 1c769ae67af4 |
children | f39963e96ca1 |
line wrap: on
line source
import os, xmms import playlist, util def cmd_quit(ui, start, stop, args): ui.shutdown = True def cmd_number(ui, start, stop, args): do_list(ui, start, stop, True, args) def cmd_list(ui, start, stop, args): do_list(ui, start, stop, False, args) def cmd_enqueue(ui, start, stop, args): try: id = int(args[0])-1 if (id < 0) or \ (id >= len(ui.lists[playlist.LIST_DEFAULT])): raise ValueError except ValueError: print "Invalid song id" return s = ui.lists[playlist.LIST_DEFAULT][id] print "Enqueuing song: %s (%s)" % (s["title"], util.strtime(s["time"])) ui.lists[playlist.LIST_PRIO].enqueue(s) def cmd_dequeue(ui, start, stop, args): l = ui.lists[playlist.LIST_PRIO] max = len(l) if not max: return start = util.fixupint(start, max) stop = util.fixupint(stop, max) for i in range(start-1, stop): s = l[start-1] print "Dequeuing song: %s (%s)" % (s["title"], util.strtime(s["time"])) l.dequeue(s) def cmd_help(ui, start, stop, args): for c in args[0]: print " %s\t%s" % (args[0][c][2],args[0][c][3]) def do_list(ui, start, stop, number, args): # get the list id from the argument or default to # LIST_PRIO try: if args[1]: listid = int(args[1]) else: listid = playlist.LIST_PRIO if listid < 0 or listid >= len(ui.lists): raise ValueError except ValueError, e: print "Invalid list number" raise e max = len(ui.lists[listid]) if not max: return start = util.fixupint(start, max) stop = util.fixupint(stop, max) # starting number should be less than the ending # number, as well as positive; ending number should # be less than or equal to the size of the playlist if start > stop or \ start < 1 or \ stop > max: raise ValueError i = 1 pfx = "" for s in ui.lists[listid]: if i < start or i > stop: i += 1 continue if number: pfx = "%d. " % (i,) print "%s%s (%s)" % (pfx, s["title"], util.strtime(s["time"])) i += 1 def cmd_play(ui, start, stop, args): xmms.control.play() def cmd_pause(ui, start, stop, args): xmms.control.pause() def cmd_stop(ui, start, stop, args): xmms.control.stop() def cmd_prev(ui, start, stop, args): xmms.control.playlist_prev() def cmd_next(ui, start, stop, args): xmms.control.playlist_next() def cmd_shell(ui, start, stop, args): if args[0]: os.system(args[0]) print "!"