diff --git a/worldbuild-worker.py b/worldbuild-worker.py index 4904c8f..760cb53 100755 --- a/worldbuild-worker.py +++ b/worldbuild-worker.py @@ -105,53 +105,53 @@ try: else: name = get_job(action, host, port) - run("mkdir -p projects/worldbuild-" + name, shell=True) + run("mkdir -p projects/worldbuild-" + name, shell=True) - run("cp projects/worldbuild/params.ini projects/worldbuild-" + name + "/", shell=True) + run("cp projects/worldbuild/params.ini projects/worldbuild-" + name + "/", shell=True) - if global_db: - db_name = prefix + "worldbuild" + if global_db: + db_name = prefix + "worldbuild" + else: + if get_south(name) >= 80: + db_name = prefix + "n-pole" + elif get_south(name) < -80: + db_name = prefix + "s-pole" else: - if get_south(name) >= 80: - db_name = prefix + "n-pole" - elif get_south(name) < -80: - db_name = prefix + "s-pole" + match = re.match(r"[0-9]{1,7}", name) + if match == None: + print("ERROR: Invalid tile name") + sys.exit(1) else: - match = re.match(r"[0-9]{1,7}", name) - if match == None: - print("ERROR: Invalid tile name") - sys.exit(1) - else: - db_name = prefix + get_area_name(get_south(name), get_west(name), major=True) + db_name = prefix + get_area_name(get_south(name), get_west(name), major=True) - if get_west(name) < 0: - bounds = "bounds=*" - else: - bounds = "bounds=" + if get_west(name) < 0: + bounds = "bounds=*" + else: + bounds = "bounds=" - bounds += str(get_west(name)) + "_" + str(get_south(name)) + "_" + str(get_east(name)) + "_" + str(get_north(name)) + bounds += str(get_west(name)) + "_" + str(get_south(name)) + "_" + str(get_east(name)) + "_" + str(get_north(name)) - run("sed -i 's/DB_NAME.*/DB_NAME = \"" + db_name + "\"/' projects/worldbuild-" + name + "/params.ini", shell=True) + run("sed -i 's/DB_NAME.*/DB_NAME = \"" + db_name + "\"/' projects/worldbuild-" + name + "/params.ini", shell=True) - run("echo '" + bounds + "' > projects/worldbuild-" + name + "/settings", shell=True) + run("echo '" + bounds + "' > projects/worldbuild-" + name + "/settings", shell=True) - if not quiet: - print("Building " + name) + if not quiet: + print("Building " + name) - logpath = "projects/worldbuild/output/" + get_area_name(get_south(name), get_west(name), major=True) + "/" + get_area_name(get_south(name), get_west(name)) + "/" - run("mkdir -p " + logpath, shell=True) - with open(logpath + name + "-" + strftime("%Y%m%d-%H%M") + ".log", "w") as log_file: - build = Popen("./build -S 10 -t 1 worldbuild-" + name, stdout=log_file, stderr=STDOUT, shell=True, start_new_session=True) + logpath = "projects/worldbuild/output/" + get_area_name(get_south(name), get_west(name), major=True) + "/" + get_area_name(get_south(name), get_west(name)) + "/" + run("mkdir -p " + logpath, shell=True) + with open(logpath + name + "-" + strftime("%Y%m%d-%H%M") + ".log", "w") as log_file: + build = Popen("./build -S 10 -t 1 worldbuild-" + name, stdout=log_file, stderr=STDOUT, shell=True, start_new_session=True) - build.wait() - build = None + build.wait() + build = None - cleanup() - - if api != None: - api_send_status(name, "done", api, api_token) - else: - send_status(name, "done", host, port) + cleanup() + + if api != None: + api_send_status(name, "done", api, api_token) + else: + send_status(name, "done", host, port) except KeyboardInterrupt: if not quiet: print("Graceful shutdown triggered. To force immedate stop, press Ctrl+C again")