Determine app module path correctly even when in a submodule. A bit cleaner dev options.
This commit is contained in:
@@ -1347,13 +1347,15 @@ def cmd_setup(args: argparse.Namespace) -> int:
|
|||||||
app_file, app_var = app_info
|
app_file, app_var = app_info
|
||||||
print(f"📍 Found FastAPI app: {app_var} in {app_file.name}")
|
print(f"📍 Found FastAPI app: {app_var} in {app_file.name}")
|
||||||
tpl_vars["APP_VAR"] = app_var
|
tpl_vars["APP_VAR"] = app_var
|
||||||
tpl_vars["APP_MODULE"] = app_file.stem
|
# Dotted module path relative to project dir (e.g. "paskia.fastapi.mainapp")
|
||||||
|
app_module = ".".join(app_file.relative_to(project_dir).with_suffix("").parts)
|
||||||
|
tpl_vars["APP_MODULE"] = app_module
|
||||||
else:
|
else:
|
||||||
print("📍 No existing FastAPI app found, will create new one")
|
print("📍 No existing FastAPI app found, will create new one")
|
||||||
app_file = None
|
app_file = None
|
||||||
app_var = "app"
|
app_var = "app"
|
||||||
tpl_vars["APP_VAR"] = app_var
|
tpl_vars["APP_VAR"] = app_var
|
||||||
tpl_vars["APP_MODULE"] = "app"
|
tpl_vars["APP_MODULE"] = f"{module_name}.app"
|
||||||
|
|
||||||
# Create directories
|
# Create directories
|
||||||
if not dry:
|
if not dry:
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ def main():
|
|||||||
help=(f"Endpoint (default: localhost:{DEFAULT_PORT})."),
|
help=(f"Endpoint (default: localhost:{DEFAULT_PORT})."),
|
||||||
)
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
dev = {"reload": True, "reload_dirs": ["MODULE_NAME"]}
|
dev = {"reload": True, "reload_dirs": ["paskia"]} if DEVMODE else {}
|
||||||
server.run(
|
server.run(
|
||||||
"MODULE_NAME.APP_MODULE:APP_VAR",
|
"APP_MODULE:APP_VAR",
|
||||||
listen=args.listen,
|
listen=args.listen,
|
||||||
default_port=DEFAULT_PORT,
|
default_port=DEFAULT_PORT,
|
||||||
**(dev if DEVMODE else {}),
|
**dev,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user