]> git.0d.be Git - pige-extractor.git/commitdiff
new --source configuration option
authorFrédéric Péters <fpeters@0d.be>
Thu, 30 Jul 2009 07:08:59 +0000 (09:08 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 30 Jul 2009 07:08:59 +0000 (09:08 +0200)
dojobs.py
extract.py

index 20f2ac6807526ae063adf883396ac87f9d5ad58f..541bdf0793213aae3ab87ff25559db829ac5158b 100644 (file)
--- a/dojobs.py
+++ b/dojobs.py
@@ -3,7 +3,7 @@
 import os
 import time
 import sys
-from extract import extract
+import extract
 from datetime import datetime, timedelta
 
 JOBS_DIR = '/tmp/jobs'
@@ -38,7 +38,7 @@ class Job:
         end_time = datetime(int(year), int(month), int(day), int(end_hour), int(end_minutes))
         if end_time < start_time:
             end_time += timedelta(days=1)
-        extract(start_time, end_time, output_filename)
+        extract.extract(start_time, end_time, output_filename)
         open(self.filename, 'w').write('done:results/%s\n' % output_filename)
         sys.exit(0)
 
@@ -54,6 +54,15 @@ class Job:
 
 
 if __name__ == '__main__':
+    parser = OptionParser()
+    parser.add_option('--source', dest='source', metavar='SOURCE')
+    options, args = parser.parse_args()
+    if options.source:
+        if options.source.startswith('http://'):
+            extract.source = extract.HttpSource(options.source)
+        else:
+            extract.source = extract.LocalSource(options.source)
+
     if not os.path.exists(JOBS_DIR):
         os.makedirs(JOBS_DIR)
     jobs = [Job(x) for x in os.listdir(JOBS_DIR)]
index 0e8f7ea563319764a74d7d5987cad9621ec0236a..d32bce3ba8b5986926b9b56a268cd793d6ff4f07 100644 (file)
@@ -35,6 +35,9 @@ class Source:
 class LocalSource(Source):
     base_directory = '/var/www/current/record/'
 
+    def __init__(self, base_dir):
+        self.base_directory = base_dir
+
     def get_current_file(self, filename):
         fullpath = os.path.join(self.base_directory, 'current', filename + '.wav')
         if os.path.exists(fullpath):
@@ -47,7 +50,9 @@ class LocalSource(Source):
         return localwav
 
 class HttpSource(Source):
-    base_url = 'http://nas.studio.priv/current/record/'
+
+    def __init__(self, base_url):
+        self.base_url = base_url
 
     def get_http_file(self, filename):
         dstfile = os.path.join(tmpdir, os.path.basename(filename))
@@ -82,8 +87,6 @@ class HttpSource(Source):
         return localwav
 
 
-source = HttpSource()
-
 def get_lower(date):
     lower = date.replace(minute = (date.minute - (date.minute % 15)))
     return lower
@@ -118,6 +121,9 @@ def extract(start, end, output):
         shutil.copy(filenames[0], output)
 
 if __name__ == '__main__':
+    global source
+    source = HttpSource('http://nas.studio.priv/current/record/')
+
     parser = OptionParser()
     parser.add_option('--start', dest='start', metavar='TIME')
     parser.add_option('--stop', dest='stop', metavar='TIME')