Add simple dev server entrypoint

This commit is contained in:
Ethan Paul 2020-12-21 21:08:38 -05:00
parent 822f40122e
commit 3b05fb2053
No known key found for this signature in database
GPG Key ID: C5F5542B54A4D9C6
1 changed files with 43 additions and 0 deletions

43
imagemonk/__main__.py Normal file
View File

@ -0,0 +1,43 @@
"""Development server stub entrypoint
Flask comes with a built-in development server. This entrypoint allows ``imagemonk``
to be run directly to run the development server and expose some simple config options for ease of
access. Run the below command to start the server:
::
python -m imagemonk
In addition to the helpful CLI flags, the Flask development server run by this module will also
load any ``.env`` files in the current working directory when running the application.
.. warning:: As the development server will tell you on startup, do not use this for production
deployments.
"""
import argparse
import sys
from imagemonk.application import APPLICATION
# pylint: disable=invalid-name
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
"-b",
"--bind",
help="Address or socket to bind the server to",
default="127.0.0.1",
)
parser.add_argument(
"-p", "--port", help="Port bind the server to", default=5000, type=int
)
parser.add_argument(
"-D", "--debug", help="Run Flask in debug mode", action="store_true"
)
args = parser.parse_args()
APPLICATION.run(host=args.bind, port=args.port, debug=args.debug, load_dotenv=True)
if __name__ == "__main__":
sys.exit(main())