more saving options (stdout, return)

This commit is contained in:
fordprefect
2020-03-27 20:24:38 +01:00
parent 666b55f709
commit e3e40a5cc3

View File

@@ -16,9 +16,15 @@ assert sys.version_info >= (3, 6), "At least Python 3.8 required due to fStrings
class OSMSearch():
def __init__(self, args):
"""
TODO: write docstring
"""
self.url = args.pop("url")
self.maxsearchnums = args.pop("maxsearchnums")
self.gpxfilename = args.pop("outputfilename")
self.save_to_file = True if args["output"] == "disk" else False
if self.save_to_file:
self.gpxfilename = args.pop("outputfilename")
self.print_xml = True if args["output"] == "print" else False
self.use_boundingbox = args.pop("use_boundingbox")
if self.use_boundingbox:
assert isinstance(list, args["boundingbox"])
@@ -31,10 +37,17 @@ class OSMSearch():
self.initialize_gpx_file()
self.search()
if self.save_to_file:
self.save_to_disk()
if self.print_xml:
self.print_to_stdout()
self.save_to_disk()
def initialize_gpx_file(self):
if not self.save_to_file:
self.gpxfile = gpxpy.gpx.GPX()
return
if os.path.isfile(self.gpxfilename):
# open file and parse
#if verbosity > 0: print(f"found file, extending")
@@ -82,6 +95,9 @@ class OSMSearch():
f.write(self.gpxfile.to_xml())
#if verbosity > 0: print(f"GPX file written to {gpxfilename}")
def print_to_stdout(self):
print(self.gpxfile.to_xml())
default_args = {
"q": "Camping",
"format": "json",
@@ -92,6 +108,7 @@ default_args = {
"ignore_ids": [],
"maxsearchnums": 10,
"url": "https://nominatim.openstreetmap.org/search/",
"output": "print",
}
if __name__ == "__main__":