]> code.delx.au - transcoding/blobdiff - batch-run
Tabs to spaces
[transcoding] / batch-run
index fa799dffc359b7364d78bcab63c014709b14b8f7..43af53183157319e5035e61cf8199a77169c17b1 100755 (executable)
--- a/batch-run
+++ b/batch-run
@@ -10,70 +10,70 @@ import time
 
 
 def run(running_jobs, cmd):
-       p = subprocess.Popen(cmd, stdin=file(os.devnull, 'r'))
-       running_jobs.append(p)
+    p = subprocess.Popen(cmd, stdin=file(os.devnull, 'r'))
+    running_jobs.append(p)
 
 def wait_for_completion(max_jobs, running_jobs):
-       while len(running_jobs) >= max_jobs:
-               time.sleep(1)
-               for job in running_jobs:
-                       if job.poll() is not None:
-                               running_jobs.remove(job)
-                               job.wait()
+    while len(running_jobs) >= max_jobs:
+        time.sleep(1)
+        for job in running_jobs:
+            if job.poll() is not None:
+                running_jobs.remove(job)
+                job.wait()
 
 def parse_file(fd):
-       def count_indent(s):
-               level = 0
-               for ch in s:
-                       if ch == "\t":
-                               level += 1
-                       else:
-                               break
-               return level
+    def count_indent(s):
+        level = 0
+        for ch in s:
+            if ch == "\t":
+                level += 1
+            else:
+                break
+        return level
 
-       for line in fd:
-               if not line.strip():
-                       continue # Ignore blank lines
-               level = count_indent(line)
-               line = line[level:] # Slice off the indentation
-               yield level, line
-       yield 0, None
+    for line in fd:
+        if not line.strip():
+            continue # Ignore blank lines
+        level = count_indent(line)
+        line = line[level:] # Slice off the indentation
+        yield level, line
+    yield 0, None
 
 def batch_process(opts, lines):
-       running_jobs = []
-       cmd = []
+    running_jobs = []
+    cmd = []
 
-       for level, line in lines:
-               old_level = len(cmd) - 1
-               if level <= old_level:
-                       run(running_jobs, itertools.chain(*cmd))
-                       wait_for_completion(opts.jobs, running_jobs)
+    for level, line in lines:
+        old_level = len(cmd) - 1
+        if level <= old_level:
+            run(running_jobs, itertools.chain(*cmd))
+            wait_for_completion(opts.jobs, running_jobs)
 
-               # Delete all options that belong to groups that are indented more than
-               # this one
-               cmd = cmd[:level]
-               assert len(cmd) == level
+        # Delete all options that belong to groups that are indented more than
+        # this one
+        cmd = cmd[:level]
+        assert len(cmd) == level
 
-               if line:
-                       cmd.append(shlex.split(line))
+        if line:
+            cmd.append(shlex.split(line))
 
-       # Wait for remaining jobs to finish
-       wait_for_completion(1, running_jobs)
+    # Wait for remaining jobs to finish
+    wait_for_completion(1, running_jobs)
 
 def parse_args():
-       parser = optparse.OptionParser(usage="%prog batchfile1 [batchfile2] ...")
-       parser.add_option("-j", "--jobs",
-               action="store", dest="jobs", default=1, type="int",
-               help="The number of concurrent jobs to run")
-       opts, args = parser.parse_args(sys.argv[1:])
-       opts.running_jobs = []
-       return opts, args
+    parser = optparse.OptionParser(usage="%prog batchfile1 [batchfile2] ...")
+    parser.add_option("-j", "--jobs",
+        action="store", dest="jobs", default=1, type="int",
+        help="The number of concurrent jobs to run")
+    opts, args = parser.parse_args(sys.argv[1:])
+    opts.running_jobs = []
+    return opts, args
 
 def main():
-       opts, args = parse_args()
-       for name in args:
-               batch_process(opts, parse_file(open(name)))
+    opts, args = parse_args()
+    for name in args:
+        batch_process(opts, parse_file(open(name)))
 
 if __name__ == "__main__":
-       main()
+    main()