搜索

PythonReactSEOPDF
GitHub Skill

api-use-external

Any time an external api needs to be understood or queried

ScotterMonk☆ 22 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

External API use

Includes how to query and process the current existing external APIs:

  • IMDb Primary API.
  • IMDb Fallback API - To be used when IMDb primary API times out or is otherwise unreachable.

Index

  • API configuration:
  • API provider framework:
  • Docs and examples: documenation, endpoints, and request/response examples for both IMDb Primary API and IMDb Fallback API.

API configuration

  • All API settings such as keys, base URLs, and timeouts come from config.py.
  • API credentials and other secrets come from .env.

API provider framework

API integration
  • IMDb integration must remain active and fully operational.
    • Core implementation is in utils/imdb_core.py using RapidAPI-based providers.
    • Core function families include imdb_details_fetch_core, imdb_search_core, imdb_rating_core, imdb_import_core, imdb_api_search_title, and imdb_api_get_details.
  • Provider configuration switches are defined in config.py:
    • MEDIA_ENABLE_IMDB = True must remain enabled.
Base API provider
  • utils/api_provider_core.py defines BaseApiProvider for all external HTTP APIs.
  • Handles HTTP requests, authentication, token management, error handling, and response normalization.
  • Stateless by design with no Flask context; safe to use in core modules.
  • Includes retry strategy and standardized response format.
  • Use this class instead of creating custom HTTP client code per API.
Provider descriptors
  • utils/api_provider_descriptors.py defines configuration descriptors for each external API.
  • New providers should be added by defining a descriptor in this module, not by creating new ad-hoc client modules.
  • Descriptors capture base URL, authentication strategy, header builders, and normalization callbacks.
  • Supports bearer tokens, API keys, and static tokens.
  • Includes TokenCache for automatic token refresh and caching where needed.
Core vs presentation for APIs
  • Core API logic belongs in utils/*_core.py modules that use BaseApiProvider and descriptors.
  • Flask-aware presentation logic belongs in routes/utils_*.py modules that call core functions.
  • Keep API core code free of Flask imports and request context.

Docs and examples

  • IMDb primary API: utils/imdb-01-docs.md (IMDb236 API)
  • IMDb fallback API: utils/imdb-02-docs.md (IMDb8 API)

Legacy unused but saved

Do not use or enable but do save:

  • TVDB and TMDB are not currently enabled in the application.
    • Supporting code and tests exist but must remain disabled unless explicitly authorized.
    • Residual assets include templates under templates/admin, JavaScript under static/js, and utilities under utils/api_tvdb and utils/api_tmdb.
    • Runtime disabling is enforced in routes and config.
    • Presence does not imply enablement; do not enable or delete them without approval.
  • Provider configuration switches are defined in config.py:
    • MEDIA_ENABLE_TVDB = False must stay disabled for now.
    • MEDIA_ENABLE_TMDB = False must stay disabled for now.

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-02-04
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!