- Add ImageUploadService for public URL generation (Meta APIs) - Create PublisherManager for unified multi-platform publishing - Add /api/publish endpoints (single, multiple, thread, test) - Add compose page in dashboard for creating posts - Add connection test script (scripts/test_connections.py) - Update navigation with compose link and logout New endpoints: - POST /api/publish/single - Publish to one platform - POST /api/publish/multiple - Publish to multiple platforms - POST /api/publish/thread - Publish thread (X/Threads) - GET /api/publish/test - Test all API connections - GET /api/publish/platforms - List available platforms Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
"""
|
|
Publishers para cada plataforma de redes sociales.
|
|
"""
|
|
|
|
from app.publishers.base import BasePublisher
|
|
from app.publishers.x_publisher import XPublisher
|
|
from app.publishers.threads_publisher import ThreadsPublisher
|
|
from app.publishers.instagram_publisher import InstagramPublisher
|
|
from app.publishers.facebook_publisher import FacebookPublisher
|
|
from app.publishers.manager import PublisherManager, Platform, publisher_manager
|
|
|
|
|
|
def get_publisher(platform: str) -> BasePublisher:
|
|
"""Obtener el publisher para una plataforma específica."""
|
|
publishers = {
|
|
"x": XPublisher(),
|
|
"threads": ThreadsPublisher(),
|
|
"instagram": InstagramPublisher(),
|
|
"facebook": FacebookPublisher()
|
|
}
|
|
|
|
publisher = publishers.get(platform.lower())
|
|
if not publisher:
|
|
raise ValueError(f"Plataforma no soportada: {platform}")
|
|
|
|
return publisher
|
|
|
|
|
|
__all__ = [
|
|
"BasePublisher",
|
|
"XPublisher",
|
|
"ThreadsPublisher",
|
|
"InstagramPublisher",
|
|
"FacebookPublisher",
|
|
"PublisherManager",
|
|
"Platform",
|
|
"publisher_manager",
|
|
"get_publisher"
|
|
]
|