def osmupdate( name_executable, in_file, out_file, output=subprocess.DEVNULL, error=subprocess.DEVNULL, run_async=False, **kwargs, ): env = os.environ.copy() env["PATH"] = f"{settings.OSM_TOOLS_PATH}:{env['PATH']}" p = subprocess.Popen( [ name_executable, "--drop-author", "--drop-version", "--out-o5m", "-v", in_file, out_file, ], env=env, stdout=output, stderr=error, ) if run_async: return p else: wait_and_raise_if_fail(p)
def get_build_version(self): p = subprocess.Popen( [self.name_executable, "--version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=os.environ, ) wait_and_raise_if_fail(p) out, err = p.communicate() return out.decode("utf-8").replace("\n", " ").strip()
def step_prepare_routing_world(env: Env, country: AnyStr, **kwargs): world_roads_builder_tool_with_args = [env.world_roads_builder_tool, f"--path_roads_file={env.paths.planet_o5m}", f"--path_resources={env.paths.user_resource_path}", f"--path_res_file={env.paths.world_roads_path}"] logger.info(f"Starting {world_roads_builder_tool_with_args}") sub_proc = subprocess.Popen( world_roads_builder_tool_with_args, stdout=env.get_subprocess_out(country), stderr=env.get_subprocess_out(country), env=os.environ ) wait_and_raise_if_fail(sub_proc)
def osmfilter( name_executable, in_file, out_file, output=subprocess.DEVNULL, error=subprocess.DEVNULL, run_async=False, **kwargs, ): env = os.environ.copy() env["PATH"] = f"{settings.OSM_TOOLS_PATH}:{env['PATH']}" args = [name_executable, in_file, f"-o={out_file}" ] + [f"--{k.replace('_', '-')}={v}" for k, v in kwargs.items()] p = subprocess.Popen(args, env=env, stdout=output, stderr=error) if run_async: return p else: wait_and_raise_if_fail(p)
def make_world_road_graph( name_executable, path_roads_file, path_resources, path_res_file, logger, output=subprocess.DEVNULL, error=subprocess.DEVNULL, ): world_roads_builder_tool_cmd = [ name_executable, f"--path_roads_file={path_roads_file}", f"--path_resources={path_resources}", f"--path_res_file={path_res_file}", ] logger.info(f"Starting {' '.join(world_roads_builder_tool_cmd)}") world_roads_builder_tool = subprocess.Popen(world_roads_builder_tool_cmd, stdout=output, stderr=error, env=os.environ) wait_and_raise_if_fail(world_roads_builder_tool)
def run(self): self.run_async() wait_and_raise_if_fail(self)