diff options
author | Christian Pointner <equinox@spreadspace.org> | 2016-09-18 13:02:50 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2016-09-18 13:02:50 (GMT) |
commit | 2991aa2f997c10d503663152bfb1bf76c5fc518d (patch) | |
tree | c6b25b13ed1a4c83685111741ef64b14440f63e2 | |
parent | cb828ee5f54f20651a18bafc3fbff5458b755b4b (diff) |
added python script to run imports
-rwxr-xr-x | run-import.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/run-import.py b/run-import.py new file mode 100755 index 0000000..017eb5d --- /dev/null +++ b/run-import.py @@ -0,0 +1,82 @@ +#!/usr/bin/python +# +# +# pool-import +# +# Copyright (C) 2016 Christian Pointner <equinox@helsinki.at> +# +# This file is part of pool-import. +# +# pool-import is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# any later version. +# +# pool-import is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with pool-import. If not, see <http://www.gnu.org/licenses/>. +# + +'''Radio Helsinki pool-import runner.''' + + +groups = [ + { 'old': "Pool01", 'new': "P_test" }, + { 'old': "Pool02", 'new': "Pbumbumtsch" }, + { 'old': "Pool03", 'new': "Pechochamber" } +] # TODO: add other group mappings + +def run_one(g): + import subprocess + import os + + print "start import from %s to %s" % (g['old'], g['new']) + log = open("%s.log" % (g['old']), "w") + p = subprocess.Popen(["./pool-import", g['old'], g['new']], shell=True, universal_newlines=True, stdout=log, stderr=log) + ret_code = p.wait() + log.flush() + log.close() + print "done importing from %s to %s ... exit_code: %d" % (g['old'], g['new'], ret_code) + +if __name__ == '__main__': + import getopt + import sys + from multiprocessing import Pool + + usage = '''spreadspace simple pic downloader. +Usage: + run_import.py [pool-size] + +Options: + -h, --help this help message. + -p=N, --pool-size=N the number of paralell imports. +''' + + pool_size = 2 + + try: + opts, args = getopt.getopt(sys.argv[1:], "hp", ["help", "pool-size" ]) + for o, a in opts: + if o in ("-h", "--help"): + print >> sys.stderr, usage + sys.exit(0) + elif o == ("-s", "--pool-size"): + device = a + else: + raise getopt.GetoptError('Too many arguments') + + if len(args) > 1: + raise getopt.GetoptError('Too many arguments') + + except getopt.GetoptError, msg: + print >> sys.stderr, "ERROR: %s" % msg + print >> sys.stderr, usage + sys.exit(2) + + + p = Pool(pool_size) + p.map(run_one, groups) |