|
|
|
|
@ -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(); |
|
|
|
|
} |
|
|
|
|
|