|
import os |
|
import sys |
|
import subprocess |
|
import logging |
|
from fastapi import FastAPI, Request, HTTPException |
|
import requests |
|
import json |
|
from datetime import datetime |
|
import importlib |
|
import pkgutil |
|
from mysite.libs.utilities import validate_signature, no_process_file |
|
|
|
|
|
from mysite.interpreter.prompt import prompt_genalate,test_prompt |
|
from mysite.interpreter.google_chat import send_google_chat_card,send_google_chat_card_thread |
|
|
|
|
|
from mysite.appsheet.appsheet import get_senario |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
""" |
|
router |
|
""" |
|
def include_routers(app): |
|
package_dir = "/home/user/app/routers" |
|
if not os.path.exists(package_dir): |
|
logger.error(f"Package directory {package_dir} does not exist.") |
|
return |
|
|
|
for module_info in pkgutil.iter_modules([package_dir]): |
|
try: |
|
if module_info.ispkg: |
|
sub_package_dir = os.path.join(package_dir, module_info.name) |
|
for sub_module_info in pkgutil.iter_modules([sub_package_dir]): |
|
module_name = ( |
|
f"routers.{module_info.name}.{sub_module_info.name}" |
|
if sub_module_info.ispkg |
|
else f"routers.{module_info.name}.{sub_module_info.name}" |
|
) |
|
module = importlib.import_module(module_name) |
|
if hasattr(module, "router"): |
|
app.include_router(module.router) |
|
else: |
|
module_name = f"routers.{module_info.name}" |
|
module = importlib.import_module(module_name) |
|
if hasattr(module, "router"): |
|
app.include_router(module.router) |
|
except ModuleNotFoundError as e: |
|
logger.error(f"Module not found: {e}") |
|
except Exception as e: |
|
logger.error(f"An error occurred: {e}") |
|
|