Skip to content

osmosis stdout empty on successful run. info written to stderr #146

@reneas

Description

@reneas

I'm trying to use osmosis in a python-script and I want to log the command output in my console.

This is the function I'm using to run osmosis:

def run_subprocess(command):
    command_name = command.split()[0]  # Get the name of the command
    print(f"Running \033[1m{command_name}\033[0m with command:\n{command}\n")
    process = subprocess.Popen(
        command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True
    )
    output, error = process.communicate()
    if output:
        print(f"\033[1m{command_name}\033[0m output:\n", output.decode())
    if error:
        print(f"\033[1m{command_name}\033[0m Error:\n", error.decode())

The command I'm inputting is:

osmosis --read-pbf /home/reneas/Dokumente/OSM/Alpentour/map_alpentour.pbf 
--node-key-value keyValueList=tourism.camp_pitch,tourism.camp_site,tourism.caravan_site
--write-xml /home/reneas/Dokumente/OSM/Alpentour/osm_raw/Camping.osm

normally communicate() returns a tuple (stdout, stderr) as is written in the description of the function but in my case even when I run the command successfully my stdout is empty and the stderr isn't.
If I do print(process.communicate()) I get:

(b'', b'Feb. 22, 2024 1:00:08 NACHM. org.openstreetmap.osmosis.core.Osmosis run\n
INFORMATION: Osmosis Version 0.48.3\n
Feb. 22, 2024 1:00:08 NACHM. org.openstreetmap.osmosis.core.Osmosis run\n
INFORMATION: Preparing pipeline.\n
Feb. 22, 2024 1:00:08 NACHM. org.openstreetmap.osmosis.core.Osmosis run\n
INFORMATION: Launching pipeline execution.\n
Feb. 22, 2024 1:00:08 NACHM. org.openstreetmap.osmosis.core.Osmosis run\n
INFORMATION: Pipeline executing, waiting for completion.\n
Feb. 22, 2024 1:00:12 NACHM. org.openstreetmap.osmosis.core.Osmosis run\n
INFORMATION: Pipeline complete.\n
Feb. 22, 2024 1:00:12 NACHM. org.openstreetmap.osmosis.core.Osmosis run\n
INFORMATION: Total execution time: 4097 milliseconds.\n')

Therefore my commandline output reads:

osmosis Error:
<rest of information herer>

is this a osmosis related issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions