From b6e170205102255a936bb88b1670584e172a9d3d Mon Sep 17 00:00:00 2001 From: thsrite Date: Fri, 27 Oct 2023 21:28:37 +0800 Subject: [PATCH 1/3] fix add plugins api --- app/plugins/autobackup/__init__.py | 8 +++++++- app/plugins/cloudflarespeedtest/__init__.py | 8 +++++++- app/plugins/dirmonitor/__init__.py | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/plugins/autobackup/__init__.py b/app/plugins/autobackup/__init__.py index ff7bca57..1d947de0 100644 --- a/app/plugins/autobackup/__init__.py +++ b/app/plugins/autobackup/__init__.py @@ -173,7 +173,13 @@ class AutoBackup(_PluginBase): pass def get_api(self) -> List[Dict[str, Any]]: - pass + return [{ + "path": "/backup", + "endpoint": self.__backup, + "methods": ["GET"], + "summary": "MoviePilot备份", + "description": "MoviePilot备份", + }] def get_form(self) -> Tuple[List[dict], Dict[str, Any]]: """ diff --git a/app/plugins/cloudflarespeedtest/__init__.py b/app/plugins/cloudflarespeedtest/__init__.py index 4c70b4c0..efbbbe96 100644 --- a/app/plugins/cloudflarespeedtest/__init__.py +++ b/app/plugins/cloudflarespeedtest/__init__.py @@ -489,7 +489,13 @@ class CloudflareSpeedTest(_PluginBase): }] def get_api(self) -> List[Dict[str, Any]]: - pass + return [{ + "path": "/cloudflare_speedtest", + "endpoint": self.__cloudflareSpeedTest, + "methods": ["GET"], + "summary": "Cloudflare IP优选", + "description": "Cloudflare IP优选", + }] def get_form(self) -> Tuple[List[dict], Dict[str, Any]]: """ diff --git a/app/plugins/dirmonitor/__init__.py b/app/plugins/dirmonitor/__init__.py index e215679d..eb296cac 100644 --- a/app/plugins/dirmonitor/__init__.py +++ b/app/plugins/dirmonitor/__init__.py @@ -600,7 +600,13 @@ class DirMonitor(_PluginBase): }] def get_api(self) -> List[Dict[str, Any]]: - pass + return [{ + "path": "/directory_sync", + "endpoint": self.sync_all, + "methods": ["GET"], + "summary": "目录监控同步", + "description": "目录监控同步", + }] def get_form(self) -> Tuple[List[dict], Dict[str, Any]]: return [ From a3916207ae5bba5d4931586d0b6e90e9c8886561 Mon Sep 17 00:00:00 2001 From: thsrite Date: Fri, 27 Oct 2023 23:13:56 +0800 Subject: [PATCH 2/3] fix division by zero --- app/modules/qbittorrent/__init__.py | 3 ++- app/modules/transmission/__init__.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/modules/qbittorrent/__init__.py b/app/modules/qbittorrent/__init__.py index 4a8dc618..4d370d97 100644 --- a/app/modules/qbittorrent/__init__.py +++ b/app/modules/qbittorrent/__init__.py @@ -166,7 +166,8 @@ class QbittorrentModule(_ModuleBase): dlspeed=StringUtils.str_filesize(torrent.get('dlspeed')), upspeed=StringUtils.str_filesize(torrent.get('upspeed')), left_time=StringUtils.str_secends( - (torrent.get('total_size') - torrent.get('completed')) / torrent.get('dlspeed')) + (torrent.get('total_size') - torrent.get('completed')) / torrent.get('dlspeed')) if torrent.get( + 'dlspeed') > 0 else '' )) else: return None diff --git a/app/modules/transmission/__init__.py b/app/modules/transmission/__init__.py index df817167..65703962 100644 --- a/app/modules/transmission/__init__.py +++ b/app/modules/transmission/__init__.py @@ -151,7 +151,7 @@ class TransmissionModule(_ModuleBase): state="paused" if torrent.status == "stopped" else "downloading", dlspeed=StringUtils.str_filesize(dlspeed), upspeed=StringUtils.str_filesize(upspeed), - left_time=StringUtils.str_secends(torrent.left_until_done / dlspeed) + left_time=StringUtils.str_secends(torrent.left_until_done / dlspeed) if dlspeed > 0 else '' )) else: return None From db3040a50e5563aadcf14a19b709456e758c93c3 Mon Sep 17 00:00:00 2001 From: thsrite Date: Sat, 28 Oct 2023 11:02:34 +0800 Subject: [PATCH 3/3] fix --- app/plugins/autobackup/__init__.py | 8 ++++---- app/plugins/cloudflarespeedtest/__init__.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/plugins/autobackup/__init__.py b/app/plugins/autobackup/__init__.py index 1d947de0..c44ce838 100644 --- a/app/plugins/autobackup/__init__.py +++ b/app/plugins/autobackup/__init__.py @@ -67,7 +67,7 @@ class AutoBackup(_PluginBase): if self._cron: try: - self._scheduler.add_job(func=self.__backup, + self._scheduler.add_job(func=self.backup, trigger=CronTrigger.from_crontab(self._cron), name="自动备份") except Exception as err: @@ -75,7 +75,7 @@ class AutoBackup(_PluginBase): if self._onlyonce: logger.info(f"自动备份服务启动,立即运行一次") - self._scheduler.add_job(func=self.__backup, trigger='date', + self._scheduler.add_job(func=self.backup, trigger='date', run_date=datetime.now(tz=pytz.timezone(settings.TZ)) + timedelta(seconds=3), name="自动备份") # 关闭一次性开关 @@ -93,7 +93,7 @@ class AutoBackup(_PluginBase): self._scheduler.print_jobs() self._scheduler.start() - def __backup(self): + def backup(self): """ 自动备份、删除备份 """ @@ -175,7 +175,7 @@ class AutoBackup(_PluginBase): def get_api(self) -> List[Dict[str, Any]]: return [{ "path": "/backup", - "endpoint": self.__backup, + "endpoint": self.backup, "methods": ["GET"], "summary": "MoviePilot备份", "description": "MoviePilot备份", diff --git a/app/plugins/cloudflarespeedtest/__init__.py b/app/plugins/cloudflarespeedtest/__init__.py index efbbbe96..69937224 100644 --- a/app/plugins/cloudflarespeedtest/__init__.py +++ b/app/plugins/cloudflarespeedtest/__init__.py @@ -88,13 +88,13 @@ class CloudflareSpeedTest(_PluginBase): try: if self.get_state() and self._cron: logger.info(f"Cloudflare CDN优选服务启动,周期:{self._cron}") - self._scheduler.add_job(func=self.__cloudflareSpeedTest, + self._scheduler.add_job(func=self.cloudflareSpeedTest, trigger=CronTrigger.from_crontab(self._cron), name="Cloudflare优选") if self._onlyonce: logger.info(f"Cloudflare CDN优选服务启动,立即运行一次") - self._scheduler.add_job(func=self.__cloudflareSpeedTest, trigger='date', + self._scheduler.add_job(func=self.cloudflareSpeedTest, trigger='date', run_date=datetime.now(tz=pytz.timezone(settings.TZ)) + timedelta(seconds=3), name="Cloudflare优选") # 关闭一次性开关 @@ -111,7 +111,7 @@ class CloudflareSpeedTest(_PluginBase): self._scheduler.start() @eventmanager.register(EventType.CloudFlareSpeedTest) - def __cloudflareSpeedTest(self, event: Event = None): + def cloudflareSpeedTest(self, event: Event = None): """ CloudflareSpeedTest优选 """ @@ -491,7 +491,7 @@ class CloudflareSpeedTest(_PluginBase): def get_api(self) -> List[Dict[str, Any]]: return [{ "path": "/cloudflare_speedtest", - "endpoint": self.__cloudflareSpeedTest, + "endpoint": self.cloudflareSpeedTest, "methods": ["GET"], "summary": "Cloudflare IP优选", "description": "Cloudflare IP优选",