Enable selected database imports
Signed-off-by: fly <merspieler@airmail.cc>
This commit is contained in:
parent
3f0af86ce8
commit
836d350f13
1 changed files with 47 additions and 7 deletions
|
@ -30,6 +30,8 @@ api_token = None
|
|||
prefix = ""
|
||||
quiet = False
|
||||
global_db = False
|
||||
setup_db = False
|
||||
pbf_path = None
|
||||
|
||||
argc = len(sys.argv)
|
||||
i = 1
|
||||
|
@ -55,6 +57,11 @@ while i < argc:
|
|||
else:
|
||||
print ("ERROR: Unknown action " + sys.argv[i])
|
||||
sys.exit(1)
|
||||
elif sys.argv[i] == "--setup-db":
|
||||
setup_db = True
|
||||
elif sys.argv[i] == "--pbf-path":
|
||||
i += 1
|
||||
pbf_path = sys.argv[i]
|
||||
elif sys.argv[i] == "-h" or sys.argv[i] == "--help":
|
||||
print("usage:worldbuild-worker.py [OPTIONS]")
|
||||
print("Retrives jobs from the manager and executes them")
|
||||
|
@ -69,6 +76,10 @@ while i < argc:
|
|||
print(" started: Run tiles marked as started. CAUTION, use with care.")
|
||||
print(" rebuild: Build tiles flaged for rebuild")
|
||||
print(" skip: Force building tile that are marked for being skipped")
|
||||
print(" Set the following options, if the worker should manage the databases")
|
||||
print(" --setup-db Enables managment of databases")
|
||||
print(" --pbf-path Path to the dir with the 10x10 degrees .pbf files")
|
||||
print("")
|
||||
print(" -h, --help Shows this help and exit")
|
||||
sys.exit(0)
|
||||
else:
|
||||
|
@ -84,6 +95,10 @@ if api_token == None:
|
|||
print("Error: No API token given")
|
||||
sys.exit(1)
|
||||
|
||||
if setup_db and pbf_path == None:
|
||||
print("Error: Database managment requested but not pbf path given")
|
||||
sys.exit(1)
|
||||
|
||||
def cleanup(name):
|
||||
if name != None:
|
||||
if os.path.isfile("projects/worldbuild-" + name + "/osm2city-exceptions.log"):
|
||||
|
@ -91,6 +106,8 @@ def cleanup(name):
|
|||
|
||||
run("rm -rf projects/worldbuild-" + name, shell=True)
|
||||
name = None
|
||||
if setup_db:
|
||||
run("./delete-db " + db_name, shell=True)
|
||||
|
||||
build = None
|
||||
name = None
|
||||
|
@ -102,21 +119,44 @@ try:
|
|||
run("mkdir -p projects/worldbuild-" + name, shell=True)
|
||||
|
||||
run("cp projects/worldbuild/params.ini projects/worldbuild-" + name + "/", shell=True)
|
||||
|
||||
if global_db:
|
||||
db_name = prefix + "worldbuild"
|
||||
else:
|
||||
|
||||
if setup_db:
|
||||
if not quiet:
|
||||
print("Cutting .pbf chunk")
|
||||
if get_south(name) >= 80:
|
||||
db_name = prefix + "n-pole"
|
||||
source_pbf = pbf_path + "/" + "n-pole.osm.pbf"
|
||||
elif get_south(name) < -80:
|
||||
db_name = prefix + "s-pole"
|
||||
source_pbf = pbf_path + "/" + "s-pole.osm.pbf"
|
||||
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)
|
||||
source_pbf = pbf_path + "/" + get_area_name(get_south(name), get_west(name), major=True) + ".osm.pbf"
|
||||
db_name = prefix + name
|
||||
run("osmium extract " + source_pbf + " --overwrite --bbox " + str(get_west(name)) + "," + str(get_south(name)) + "," + str(get_east(name)) + "," + str(get_north(name)) + " -o projects/worldbuild-" + name + "/tile.osm.pbf", shell=True)
|
||||
if not quiet:
|
||||
print("Creating database")
|
||||
run("./creat-db " + db_name, shell=True)
|
||||
if not quiet:
|
||||
print("Loading .pbf into database")
|
||||
run("./read-pbf " + db_name + " projects/worldbuild-" + name + "/tile.osm.pbf", shell=True)
|
||||
else:
|
||||
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:
|
||||
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)
|
||||
|
||||
if get_west(name) < 0:
|
||||
bounds = "bounds=*"
|
||||
|
|
Loading…
Reference in a new issue