Add sanic as an entry point command (#1866)

* Add sanic as an entry point command

* Fix linting issue in imports

Co-authored-by: 7 <yunxu1992@gmail.com>
This commit is contained in:
Adam Hopkins
2020-06-05 17:14:18 +03:00
committed by GitHub
parent fa4f85eb32
commit 496e87e4ba
15 changed files with 66 additions and 47 deletions

View File

@@ -1,3 +1,6 @@
import os
import sys
from argparse import ArgumentParser
from importlib import import_module
from typing import Any, Dict, Optional
@@ -6,7 +9,7 @@ from sanic.app import Sanic
from sanic.log import logger
if __name__ == "__main__":
def main():
parser = ArgumentParser(prog="sanic")
parser.add_argument("--host", dest="host", type=str, default="127.0.0.1")
parser.add_argument("--port", dest="port", type=int, default=8000)
@@ -22,6 +25,10 @@ if __name__ == "__main__":
args = parser.parse_args()
try:
module_path = os.path.abspath(os.getcwd())
if module_path not in sys.path:
sys.path.append(module_path)
module_parts = args.module.split(".")
module_name = ".".join(module_parts[:-1])
app_name = module_parts[-1]
@@ -58,3 +65,7 @@ if __name__ == "__main__":
)
except ValueError:
logger.exception("Failed to run app")
if __name__ == "__main__":
main()