diff --git a/genProcessScript.py b/genProcessScript.py index 7483a3e7ff4bbbf3f65625b4b06081d280ce63b3..473a343d04a5c74fc6425c35cc23272986db3b0e 100644 --- a/genProcessScript.py +++ b/genProcessScript.py @@ -8,13 +8,14 @@ import sys def main(argv): try: - opts, args = getopt.getopt(argv, '', ['cloudmask', 's2ref=', 's2bandlist=']) + opts, args = getopt.getopt(argv, '', ['cloudmask', 's2ref=', 's2bandlist=', 'makefile']) except getopt.GetoptError as err: print str(err) opt_str = '' opt_str_s2 = '' base_fld = args[0] + makefile = False for opt, val in opts: if opt == '--cloudmask': @@ -23,6 +24,8 @@ def main(argv): opt_str_s2 += ' --s2ref ' + val elif opt == '--s2bandlist': opt_str_s2 += ' --s2bandlist ' + val + elif opt == '--makefile': + makefile = True valid_dirs_L8 = [] valid_dirs_S2 = [] @@ -46,25 +49,46 @@ def main(argv): if (len(valid_dirs_L8) + len(valid_dirs_S2) + len(valid_dirs_S2_THEIA) + len(valid_dirs_Venus)) == 0: sys.exit('No products found within ' + base_fld) - if platform.system() == 'Windows': - f = open('ProcessScript.bat', 'w') - f.write("@echo off\n") - else: - f = open('ProcessScript.sh', 'w') + if not makefile: + if platform.system() == 'Windows': + f = open('ProcessScript.bat', 'w') + f.write("@echo off\n") + else: + f = open('ProcessScript.sh', 'w') + + for d in valid_dirs_L8: + f.write('python preprocess.py ' + opt_str + ' ' + d + '\n') + for d in valid_dirs_S2: + f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n') + for d in valid_dirs_S2_THEIA: + f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n') + for d in valid_dirs_Venus: + f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n') + f.close() - for d in valid_dirs_L8: - f.write('python preprocess.py ' + opt_str + ' ' + d + '\n') - for d in valid_dirs_S2: - f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n') - for d in valid_dirs_S2_THEIA: - f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n') - for d in valid_dirs_Venus: - f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n') - f.close() + if platform.system() == 'Linux': + st = os.stat('ProcessScript.sh') + os.chmod('ProcessScript.sh', st.st_mode | stat.S_IEXEC) - if platform.system() == 'Linux': - st = os.stat('ProcessScript.sh') - os.chmod('ProcessScript.sh', st.st_mode | stat.S_IEXEC) + else: + f = open('ProcessMakefile', 'w') + tot = len(valid_dirs_L8) + len(valid_dirs_S2) + len(valid_dirs_S2_THEIA) + len(valid_dirs_Venus) + joblist = ['job%d' % j for j in range(1,tot+1)] + joball = ' '.join() + f.write('all : ' + joball + '\n\n') + for d in valid_dirs_L8: + f.write(joblist.pop() + ' :\n') + f.write(' python preprocess.py ' + opt_str + ' ' + d + '\n\n') + for d in valid_dirs_S2: + f.write(joblist.pop() + ' :\n') + f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n\n') + for d in valid_dirs_S2_THEIA: + f.write(joblist.pop() + ' :\n') + f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n\n') + for d in valid_dirs_Venus: + f.write(joblist.pop() + ' :\n') + f.write('python preprocess.py ' + opt_str + ' ' + opt_str_s2 + ' ' + d + '\n\n') + f.close() if __name__ == '__main__':