import datetime from auto_media_publisher.tasks.task_generator import TaskGenerator from auto_media_publisher.tasks.task_media_generator import TaskMediaGenerator from auto_media_publisher.tasks.task_platform_login import PlatformLoginChecker from auto_media_publisher.tasks.task_platform_upload import PlatformUploaderChecker from abc import ABC, abstractmethod from auto_media_publisher.downloaders.dajiala_downloader import DajialaDownloader from auto_media_publisher.downloaders.dajiala_fetcher import DajialaFetcher class TaskBase(ABC): def __init__(self,cls): super().__init__() self.generator = cls() self.last_run = None self.last_log = "" def run(self): try: self.generator.run() self.last_run = datetime.datetime.now() self.last_log = f"[{self.last_run}] 成功生成上传任务清单\n" except Exception as e: self.last_log = f"生成任务出错: {e}" class TaskGeneratorWrapper(TaskBase): def __init__(self): super().__init__(TaskGenerator) class TaskMediaGeneratorWrapper(TaskBase): def __init__(self): super().__init__(TaskMediaGenerator) class TaskPlatformLoginWrapper(TaskBase): def __init__(self): super().__init__(PlatformLoginChecker) class TaskPlatformUploadWrapper(TaskBase): def __init__(self): super().__init__(PlatformUploaderChecker) class DajialaFetcherWrapper(TaskBase): def __init__(self): super().__init__(DajialaFetcher) class DajialaDownloadWrapper(TaskBase): def __init__(self): super().__init__(DajialaDownloader)