diff --git a/.env.example b/.env.example index 734e036..b2f66c1 100644 --- a/.env.example +++ b/.env.example @@ -44,6 +44,7 @@ CREATE_IMAGE_MODEL=imagen-3.0-generate-002 UPLOAD_PROVIDER=smms SMMS_SECRET_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PICGO_API_KEY=xxxx +PICGO_API_URL=https://www.picgo.net/api/1/upload CLOUDFLARE_IMGBED_URL=https://xxxxxxx.pages.dev/upload CLOUDFLARE_IMGBED_AUTH_CODE=xxxxxxxxx CLOUDFLARE_IMGBED_UPLOAD_FOLDER= diff --git a/app/config/config.py b/app/config/config.py index 18a8fef..1f41da1 100644 --- a/app/config/config.py +++ b/app/config/config.py @@ -94,6 +94,7 @@ class Settings(BaseSettings): UPLOAD_PROVIDER: str = "smms" SMMS_SECRET_TOKEN: str = "" PICGO_API_KEY: str = "" + PICGO_API_URL: str = "https://www.picgo.net/api/1/upload" CLOUDFLARE_IMGBED_URL: str = "" CLOUDFLARE_IMGBED_AUTH_CODE: str = "" CLOUDFLARE_IMGBED_UPLOAD_FOLDER: str = "" diff --git a/app/handler/response_handler.py b/app/handler/response_handler.py index 1300e71..2a97b41 100644 --- a/app/handler/response_handler.py +++ b/app/handler/response_handler.py @@ -259,7 +259,9 @@ def _extract_image_data(part: dict) -> str: ) elif settings.UPLOAD_PROVIDER == "picgo": image_uploader = ImageUploaderFactory.create( - provider=settings.UPLOAD_PROVIDER, api_key=settings.PICGO_API_KEY + provider=settings.UPLOAD_PROVIDER, + api_key=settings.PICGO_API_KEY, + api_url=settings.PICGO_API_URL ) elif settings.UPLOAD_PROVIDER == "cloudflare_imgbed": image_uploader = ImageUploaderFactory.create( diff --git a/app/utils/uploader.py b/app/utils/uploader.py index 7496cf4..8f9faf0 100644 --- a/app/utils/uploader.py +++ b/app/utils/uploader.py @@ -389,7 +389,7 @@ class ImageUploaderFactory: credentials["secret_key"] ) elif provider == "picgo": - api_url = credentials.get("api_url", "https://www.picgo.net/api/1/upload") + api_url = credentials.get("api_url") or "https://www.picgo.net/api/1/upload" return PicGoUploader(credentials["api_key"], api_url) elif provider == "cloudflare_imgbed": return CloudFlareImgBedUploader(