diff --git a/logic_linkkf.py b/logic_linkkf.py index fb4aa67..c3fd741 100644 --- a/logic_linkkf.py +++ b/logic_linkkf.py @@ -31,11 +31,15 @@ from framework.util import Util from framework.common.util import headers from plugin import ( LogicModuleBase, - FfmpegQueueEntity, - FfmpegQueue, default_route_socketio, + # FfmpegQueue, + # FfmpegQueueEntity, ) +# 철자가 틀린 부분이 있어서 분리함 +# +from .lib.plugin import FfmpegQueue, FfmpegQueueEntity + packages = ["beautifulsoup4", "requests-cache", "cloudscraper"] for _package in packages: @@ -115,7 +119,7 @@ class LogicLinkkf(LogicModuleBase): "linkkf_auto_start": "False", "linkkf_interval": "* 5 * * *", "linkkf_auto_mode_all": "False", - "linkkf_auto_code_list": "all", + "linkkf_auto_code_list": "", "linkkf_current_code": "", "linkkf_uncompleted_auto_enqueue": "False", "linkkf_image_url_prefix_series": "", @@ -219,7 +223,18 @@ class LogicLinkkf(LogicModuleBase): elif sub == "db_remove": return jsonify(ModelLinkkfItem.delete_by_id(req.form["id"])) elif sub == "add_whitelist": - pass + # params = request.get_data() + # logger.debug(f"params: {params}") + # data_code = request.args.get("data_code") + params = request.get_json() + logger.debug(f"params:: {params}") + if params is not None: + code = params["data_code"] + logger.debug(f"params: {code}") + ret = LogicLinkkf.add_whitelist(code) + else: + ret = LogicLinkkf.add_whitelist() + return jsonify(ret) except Exception as e: P.logger.error(f"Exception: {str(e)}") @@ -970,8 +985,9 @@ class LogicLinkkf(LogicModuleBase): logger.error(traceback.format_exc()) def add(self, episode_info): - print("episode_info") + logger.debug("episode_info") logger.debug(episode_info) + if self.is_exist(episode_info): return "queue_exist" else: @@ -1016,6 +1032,35 @@ class LogicLinkkf(LogicModuleBase): return True return False + def scheduler_function(self): + logger.debug(f"linkkf scheduler_function:: =========================") + + content_code_list = P.ModelSetting.get_list("linkkf_auto_code_list", "|") + logger.debug(content_code_list) + + if "all" in content_code_list: + url = f'{P.ModelSetting.get("linkkf_url")}/dailyani' + ret_data = LogicLinkkf.get_auto_anime_info(self, url=url) + + elif len(content_code_list) > 0: + for item in content_code_list: + url = P.ModelSetting.get("linkkf_url") + "/" + item + print("scheduling url: %s", url) + # exit() + # ret_data = LogicOhli24.get_auto_anime_info(self, url=url) + content_info = self.get_series_info(item) + + logger.debug(content_info["episode"]) + # exit() + + for episode_info in content_info["episode"]: + add_ret = self.add(episode_info) + if add_ret.startswith("enqueue"): + self.socketio_callback("list_refresh", "") + # logger.debug(f"data: {data}") + # self.current_data = data + # db에서 다운로드 완료 유무 체크 + # @staticmethod def plugin_load(self): try: @@ -1098,7 +1143,7 @@ class LinkkfQueueEntity(FfmpegQueueEntity): url2s = [] url = None logger.debug(self.info) - logger.debug(self.info["url"]) + logger.debug(f'self.info:: {self.info["url"]}') try: # logger.debug(self) @@ -1165,7 +1210,6 @@ class LinkkfQueueEntity(FfmpegQueueEntity): # logger.info(video_url) # return [video_url, referer_url] return video_url - logger.info("dx: urls2:: %s", url2s) video_url = None diff --git a/templates/anime_downloader_linkkf_setting.html b/templates/anime_downloader_linkkf_setting.html index 1b4d11a..126fab0 100644 --- a/templates/anime_downloader_linkkf_setting.html +++ b/templates/anime_downloader_linkkf_setting.html @@ -7,7 +7,7 @@ @@ -28,9 +28,9 @@ {{ macros.m_tab_content_start('auto', false) }} {{ macros.setting_global_scheduler_sub_button(arg['scheduler'], arg['is_running']) }} - {{ macros.setting_input_text('linkkf_interval', '스케쥴링 실행 정보', value=arg['linkkf_interval'], col='3', desc=['Inverval(minute 단위)이나 Cron 설정']) }} + {{ macros.setting_input_text('linkkf_interval', '스케쥴링 실행 정보', value=arg['linkkf_interval'], col='4', desc=['Inverval(minute 단위)이나 Cron 설정']) }} {{ macros.setting_checkbox('linkkf_auto_start', '시작시 자동실행', value=arg['linkkf_auto_start'], desc='On : 시작시 자동으로 스케쥴러에 등록됩니다.') }} - {{ macros.setting_input_textarea('linkkf_auto_code_list', '자동 다운로드할 작품 코드', desc=['all 입력시 모두 받기', '구분자 | 또는 엔터'], value=arg['linkkf_auto_code_list'], row='10') }} + {{ macros.setting_input_textarea('linkkf_auto_code_list', '자동 다운로드할 작품 코드', desc=['구분자 | 또는 엔터'], value=arg['linkkf_auto_code_list'], row='10') }} {{ macros.setting_checkbox('linkkf_auto_mode_all', '에피소드 모두 받기', value=arg['linkkf_auto_mode_all'], desc=['On : 이전 에피소드를 모두 받습니다.', 'Off : 최신 에피소드만 받습니다.']) }} {{ macros.m_tab_content_end() }}