diff --git a/.gitignore b/.gitignore index 6320cd2..377b6d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -data \ No newline at end of file +*.pyc + +data diff --git a/server.py b/server.py index 7cc858d..9acea8a 100644 --- a/server.py +++ b/server.py @@ -1,4 +1,3 @@ -from argparse import ArgumentParser import logging from pathlib import Path import urllib.error @@ -7,18 +6,7 @@ import urllib.request from flask import Flask, send_file -def main(): - parser = ArgumentParser() - parser.add_argument('--host', default='0.0.0.0', help='Server host (default: 0.0.0.0)') - parser.add_argument('--port', type=int, default=8000, help='Server port (default: 8000)') - parser.add_argument('--debug', action='store_true', help='Run in debug mode (auto-reload on change)') - arguments = parser.parse_args() - - host: str = arguments.host - port: int = arguments.port - debug_mode: bool = arguments.debug - del arguments - +def create_app(debug_mode: bool = False): app = Flask('map_server', static_folder='public', static_url_path='/') osm_timeout = 3 http_code_ok = 200 @@ -52,8 +40,4 @@ def main(): except urllib.error.URLError as error: return f'Cannot retrieve tile: {error}', 501 - app.run(host=host, port=port, debug=debug_mode) - - -if __name__ == '__main__': - main() + return app diff --git a/start.py b/start.py new file mode 100644 index 0000000..d523d6f --- /dev/null +++ b/start.py @@ -0,0 +1,23 @@ +from argparse import ArgumentParser + +from server import create_app + + +def main(): + parser = ArgumentParser() + parser.add_argument('--host', default='0.0.0.0', help='Server host (default: 0.0.0.0)') + parser.add_argument('--port', type=int, default=8000, help='Server port (default: 8000)') + parser.add_argument('--debug', action='store_true', help='Run in debug mode (auto-reload on change)') + arguments = parser.parse_args() + + host: str = arguments.host + port: int = arguments.port + debug_mode: bool = arguments.debug + del arguments + + app = create_app(debug_mode=debug_mode) + app.run(host=host, port=port, debug=debug_mode) + + +if __name__ == '__main__': + main()