X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/23ac2dcb47526f2918420db60d608bf30ef73e29..29d7234bd6c1853dc02c4e3c6c47c099bb1241a7:/fa-flacd diff --git a/fa-flacd b/fa-flacd index 5e93e1f..8166b94 100755 --- a/fa-flacd +++ b/fa-flacd @@ -85,13 +85,20 @@ from errno import EEXIST, ENOENT from glob import glob from optparse import OptionParser -import org.diplodocus.jobs -from org.diplodocus.structures import ListDictDict -from org.diplodocus.util import die, flatten, nothing -from org.diplodocus.util import catch_EnvironmentError as c - from flac_archive.tags import Tags +def c(f, *args): + try: + return f(*args) + except EnvironmentError, error: + error.msg = '%s.%s(%s): ' % (f.__module__, f.__name__, + ', '.join(map(str, args))) + raise + +def die(e, *args): + sys.stderr.write(''.join(args)) + sys.exit(e) + def spew(*args): if verbose: for i in args: @@ -283,11 +290,8 @@ def flacloop(maxjobs): return 1 return lamb - def notify_start(pid, jobs): - # make this print '2 jobs; start 378 for Artist/01 Title.flac' - spew('%d jobs; start %d for %s\n' % (len(jobs), pid, dir[0])) - - def notify_finish(pid, status, jobs): + while True: + status = getjob(lambda *a,**k: None)() spew('%d jobs; %d finished (' % (len(jobs), pid)) if os.WIFEXITED(status): spew('exited with status ', str(os.WEXITSTATUS(status))) @@ -297,12 +301,6 @@ def flacloop(maxjobs): spew('stopped with signal ', str(os.WSTOPSIG(status))) spew(')\n') - # Never returns (see getjob comment). - org.diplodocus.jobs.run(maxjobs=maxjobs, debug=debug, - get_job=getjob, - notify_start=notify_start, - notify_finish=notify_finish) - def main(argv): # Control the exit code for any uncaught exceptions. try: