pull/144/head
jun 1 year ago
parent d80c5102c3
commit 5bd37020e6
  1. 17
      app/src/python/java/com/github/catvod/crawler/pyLoader.java
  2. 5
      app/src/python/java/com/undcover/freedom/pyramid/PythonLoader.java
  3. 22
      app/src/python/java/com/undcover/freedom/pyramid/PythonSpider.java
  4. 2
      gradle.properties
  5. 4
      pyramid/build.gradle
  6. 1
      settings.gradle

@ -1,20 +1,19 @@
// 文件: app/src/python/java/com/github/catvod/crawler/python/PyLoader.java
package com.github.catvod.crawler;
import android.Manifest;
import android.content.pm.PackageManager;
import android.util.Log;
import com.chaquo.python.PyObject;
import androidx.core.content.ContextCompat;
import com.github.catvod.crawler.python.IPyLoader;
import com.github.tvbox.osc.base.App;
import com.github.tvbox.osc.util.LOG;
import com.github.tvbox.osc.util.MD5;
import com.undcover.freedom.pyramid.PythonLoader;
import com.undcover.freedom.pyramid.PythonSpider;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -50,12 +49,16 @@ public class pyLoader implements IPyLoader {
return spiders.get(key);
}
try {
if (ContextCompat.checkSelfPermission(App.getInstance(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
Log.i("PyLoader", "无存储权限,终止执行");
return new SpiderNull();
}
Log.i("PyLoader", "echo-getSpider url: " + getPyUrl(cls, ext));
Spider sp = pythonLoader.getSpider(key, getPyUrl(cls, ext));
// Log.i("PyLoader", "echo-getSpider homeContent: " + sp.homeContent(true));
spiders.put(key, sp);
Log.i("PyLoader", "echo-getSpider 加载spider: " + key);
return (Spider)sp;
return sp;
} catch (Throwable th) {
th.printStackTrace();
}

@ -122,7 +122,6 @@ public class PythonLoader {
}
try {
PythonSpider sp = new PythonSpider(key, cache);
Thread initThread = new Thread(() -> {
try {
sp.init(app, url);
@ -132,13 +131,11 @@ public class PythonLoader {
});
initThread.start();
initThread.join(12_000);
if (initThread.isAlive()) {
PyLog.e("echo-init方法执行超时超时");
initThread.interrupt();
throw new Exception("echo-init方法执行超时");
return new SpiderNull();
}
spiders.put(key, sp);
return sp;
} catch (Throwable th) {

@ -130,28 +130,6 @@ public class PythonSpider extends Spider {
return sb.toString();
}
// public Object[] proxyLocal(Map param) {
// PyLog.nw("localProxy", map2json(param).toString());
// List<PyObject> poList = app.callAttr("localProxy", pySpider, map2json(param).toString()).asList();
// PyLog.nw("localProxy" + "-" + name, poList.toString());
// int code = poList.get(0).toInt();
// String type = poList.get(1).toString();
// String Content = poList.get(2).toString();
// InputStream stream = new ByteArrayInputStream("".getBytes());
// Object extra = null;
// try {
// if (!Content.isEmpty()) {
// stream = new ByteArrayInputStream(Content.getBytes("utf8"));
// }
// if (poList.size() > 3) {
// extra = poList.get(3).toJava(Map.class);
// }
// } catch (UnsupportedEncodingException e) {
// throw new RuntimeException(e);
// }
// return new Object[]{code, type, stream, extra};
// }
public Object[] proxyLocal(Map<String,String> params) {
Log.i("PyLoader","echo-proxyLocal:param"+params.toString());
List<PyObject> list = app.callAttr("localProxy", pySpider, map2json(params).toString()).asList();

@ -17,4 +17,4 @@ android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
IsDebug=true
org.gradle.jvmargs=-Xmx2048m --add-opens java.base/java.io=ALL-UNNAMED
#org.gradle.jvmargs=-Xmx2048m --add-opens java.base/java.io=ALL-UNNAMED

@ -11,6 +11,7 @@ android {
targetSdkVersion 28
ndk {
//abiFilters 'arm64-v8a'
//noinspection ChromeOsAbiSupport
abiFilters "armeabi-v7a"
}
python {
@ -31,6 +32,7 @@ android {
buildTypes {
all {
ndk {
//noinspection ChromeOsAbiSupport
abiFilters 'armeabi-v7a'
}
}
@ -52,7 +54,7 @@ android {
python.srcDirs = ["src/python"]
}
}
// buildToolsVersion '30.0.2'
buildToolsVersion '30.0.2'
}
dependencies {

@ -2,5 +2,4 @@ rootProject.name = "TVBox"
include ':app'
include ':player'
include ':quickjs'
include ':clinglibrary'
include ':pyramid'
Loading…
Cancel
Save