__init__.py 943 B

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- coding: utf-8 -*-
  2. """
  3. 平台发布模块
  4. 支持: 抖音、小红书、视频号、快手
  5. """
  6. from .base import BasePublisher
  7. from .douyin import DouyinPublisher
  8. from .xiaohongshu import XiaohongshuPublisher
  9. from .weixin import WeixinPublisher
  10. from .kuaishou import KuaishouPublisher
  11. __all__ = [
  12. 'BasePublisher',
  13. 'DouyinPublisher',
  14. 'XiaohongshuPublisher',
  15. 'WeixinPublisher',
  16. 'KuaishouPublisher',
  17. ]
  18. # 平台映射
  19. PLATFORM_MAP = {
  20. 'douyin': DouyinPublisher,
  21. 'xiaohongshu': XiaohongshuPublisher,
  22. 'weixin': WeixinPublisher,
  23. 'weixin_video': WeixinPublisher, # 别名
  24. 'kuaishou': KuaishouPublisher,
  25. }
  26. def get_publisher(platform: str) -> type:
  27. """获取平台发布器类"""
  28. publisher_class = PLATFORM_MAP.get(platform.lower())
  29. if not publisher_class:
  30. raise ValueError(f"不支持的平台: {platform},支持的平台: {list(PLATFORM_MAP.keys())}")
  31. return publisher_class