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)
|