From cf054eddce6d86547b208c4ec7e6082344ef1a3b Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 11 Dec 2023 17:30:48 +0800 Subject: [PATCH] Clean code --- .../com/fongmi/android/tv/api/JsLoader.java | 2 +- .../com/fongmi/android/tv/api/PyLoader.java | 11 +++++-- .../com/undcover/freedom/pyramid/Loader.java | 2 +- pyramid/src/main/python/app.py | 31 ++++++++----------- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/JsLoader.java b/app/src/main/java/com/fongmi/android/tv/api/JsLoader.java index f51c61284..22400ddcf 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/JsLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/JsLoader.java @@ -55,7 +55,7 @@ public class JsLoader { private Spider find(Map params) { if (!params.containsKey("siteKey")) return spiders.get(recent); Site site = ApiConfig.get().getSite(params.get("siteKey")); - return site.isEmpty() ? null : ApiConfig.get().getSpider(site); + return site.isEmpty() ? new SpiderNull() : ApiConfig.get().getSpider(site); } public Object[] proxyInvoke(Map params) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java b/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java index 4783f038e..b0ab7f7db 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/PyLoader.java @@ -3,6 +3,7 @@ package com.fongmi.android.tv.api; import android.content.Context; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.bean.Site; import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.SpiderNull; @@ -51,11 +52,15 @@ public class PyLoader { } } + private Spider find(Map params) { + if (!params.containsKey("siteKey")) return spiders.get(recent); + Site site = ApiConfig.get().getSite(params.get("siteKey")); + return site.isEmpty() ? new SpiderNull() : ApiConfig.get().getSpider(site); + } + public Object[] proxyInvoke(Map params) { try { - Spider spider = spiders.get(recent); - if (spider == null) return null; - return spider.proxyLocal(params); + return find(params).proxyLocal(params); } catch (Throwable e) { e.printStackTrace(); return null; diff --git a/pyramid/src/main/java/com/undcover/freedom/pyramid/Loader.java b/pyramid/src/main/java/com/undcover/freedom/pyramid/Loader.java index c4b8071ba..53be6d712 100644 --- a/pyramid/src/main/java/com/undcover/freedom/pyramid/Loader.java +++ b/pyramid/src/main/java/com/undcover/freedom/pyramid/Loader.java @@ -24,7 +24,7 @@ public class Loader { @Keep public Spider spider(Context context, String key, String api) { if (app == null) init(context); - PyObject obj = app.callAttr("init_py", cache, key, api); + PyObject obj = app.callAttr("spider", cache, key, api); return new Spider(app, obj); } } diff --git a/pyramid/src/main/python/app.py b/pyramid/src/main/python/app.py index e3fa4b8c4..2eb525a75 100644 --- a/pyramid/src/main/python/app.py +++ b/pyramid/src/main/python/app.py @@ -4,12 +4,21 @@ from importlib.machinery import SourceFileLoader import json -def create_file(file_path): - if os.path.exists(file_path) is False: - os.makedirs(file_path) +def spider(cache, key, api): + name = os.path.basename(api) + path = cache + '/' + name + downloadFile(path, api) + return SourceFileLoader(name, path).load_module().Spider() + +def downloadFile(name, api): + if api.startswith('http'): + writeFile(name, redirect(api).content) + else: + writeFile(name, str.encode(api)) -def write_file(name, content): + +def writeFile(name, content): with open(name, 'wb') as f: f.write(content) @@ -22,20 +31,6 @@ def redirect(url): return rsp -def download_file(name, api): - if api.startswith('http'): - write_file(name, redirect(api).content) - else: - write_file(name, str.encode(api)) - - -def init_py(cache, key, api): - name = os.path.basename(api) - path = cache + '/' + name - download_file(path, api) - return SourceFileLoader(name, path).load_module().Spider() - - def str2json(content): return json.loads(content)