# HG changeset patch # User darius@inchoate.localdomain # Date 1194841361 -37800 # Node ID de86a9e19151ac9f68b389e0507c496b70133dc3 # Parent de1f6ba76d6d0dd77359ac6f6203c23a52cf1bd5 Misc bug fixes, whitespace changes. - Make it easier to schedule multiple jobs (which is useless until amarok issues them..) - Remove superfluous initialisation and closing of descriptors. diff -r de1f6ba76d6d -r de86a9e19151 amakode.py --- a/amakode.py Tue Oct 23 10:07:23 2007 +0930 +++ b/amakode.py Mon Nov 12 14:52:41 2007 +1030 @@ -50,10 +50,10 @@ class QueueMgr: queuedjobs = [] activejobs = [] - maxjobs = 1 - def __init__(self, _callback): - self.callback = _callback + def __init__(self, callback = None, maxjobs = 2): + self.callback = callback + self.maxjobs = maxjobs pass def add(self, job): @@ -105,8 +105,6 @@ encode["flac"] = ["flac", "-c", "-"] def __init__(self, _inurl, _tofmt): - self.outfname = None - self.errfname = None self.errormsg = None log.debug("Creating job") self.inurl = _inurl @@ -117,7 +115,7 @@ else: log.debug("unable to decode " + self.inext) raise KeyError("no available decoder") - + if (self.tofmt in self.encode): log.debug("can encode with " + str(self.encode[self.tofmt])) else: @@ -131,7 +129,7 @@ self.outfd, self.outfname = tempfile.mkstemp(prefix="transcode-", suffix="." + self.tofmt) #self.outfname = string.join(string.rsplit(self.inurl, ".")[:-1] + [self.tofmt], ".") - self.errfd, self.errfname = tempfile.mkstemp(prefix="transcode-", suffix=".log") + self.errfh, self.errfname = tempfile.mkstemp(prefix="transcode-", suffix=".log") self.outurl = urlparse.urlunsplit(["file", None, self.outfname, None, None]) log.debug("Outputting to " + self.outfname + " " + self.outurl + ")") log.debug("Errors to " + self.errfname) @@ -153,9 +151,6 @@ if (rtn == None): return(False) - os.close(self.errfd) - os.close(self.outfd) - if (rtn == 0): os.unlink(self.errfname) self.errormsg = None @@ -181,7 +176,7 @@ self.readSettings() - self.queue = QueueMgr(self.notify) + self.queue = QueueMgr(callback = self.notify, maxjobs = 1) while True: # Check for finished jobs, etc @@ -297,6 +292,7 @@ if 1: app = amaKode(sys.argv) else: + # Quick test case q = QueueMgr(reportJob) j = TranscodeJob("file:///tmp/test.mp3", "ogg") q.add(j)