pyctx.py 2.4 KB
Newer Older
H
hjdhnx 已提交
1 2 3 4 5 6 7 8 9 10 11
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File  : pyctx.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date  : 2022/9/24

import json

import requests
from utils.web import *
from utils.log import logger
H
hjdhnx 已提交
12
from utils.encode import base64Encode,base64Decode,fetch,post,request,getCryptoJS,getPreJs,buildUrl,getHome,parseText,atob
H
hjdhnx 已提交
13
from utils.encode import setDetail,join,urljoin2,parseText,requireCache,base64ToImage
H
hjdhnx 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
from utils.encode import md5 as mmd5
from utils.parser import runPy,runJScode,JsObjectWrapper,PyJsObject,PyJsString
from urllib.parse import quote
from utils.htmlParser import jsoup
from controllers.service import storage_service

def setItem(key,value):
    lsg = storage_service()
    if isinstance(key,PyJsString):
        key = parseText(str(key))
    if isinstance(value,PyJsString):
        value = parseText(str(value))
    return lsg.setItem(key,value)

def getItem(key,value=''):
    lsg = storage_service()
    if isinstance(key,PyJsString):
        key = parseText(str(key))
    if isinstance(value,PyJsString):
        value = parseText(str(value))
    return lsg.getItem(key,value)

def clearItem(key):
    lsg = storage_service()
    if isinstance(key,PyJsString):
        key = parseText(str(key))
    return lsg.clearItem(key)

def encodeUrl(url):
    # return base64Encode(quote(url))
    # return base64Encode(url)
    # print(type(url))
    if isinstance(url,PyJsString):
        # obj = obj.to_dict()
        url = parseText(str(url))
    return quote(url)

def stringify(obj):
    if isinstance(obj,PyJsObject):
        # obj = obj.to_dict()
        obj = parseText(str(obj))
    return json.dumps(obj, separators=(',', ':'), ensure_ascii=False)

def requireObj(url):
    if isinstance(url,PyJsString):
        url = parseText(str(url))
    return requireCache(url)

def md5(text):
    if isinstance(text,PyJsString):
        text = parseText(str(text))
    return mmd5(text)

py_ctx = {
H
hjdhnx 已提交
68
'requests':requests,'print':print,'base64Encode':base64Encode,'base64Decode':base64Decode,
H
hjdhnx 已提交
69 70 71 72
'log':logger.info,'fetch':fetch,'post':post,'request':request,'getCryptoJS':getCryptoJS,
'buildUrl':buildUrl,'getHome':getHome,'setDetail':setDetail,'join':join,'urljoin2':urljoin2,
'PC_UA':PC_UA,'MOBILE_UA':MOBILE_UA,'UC_UA':UC_UA,'IOS_UA':IOS_UA,
'setItem':setItem,'getItem':getItem,'clearItem':clearItem,'stringify':stringify,'encodeUrl':encodeUrl,
H
hjdhnx 已提交
73
'requireObj':requireObj,'md5':md5,'atob':atob,'base64ToImage':base64ToImage
H
hjdhnx 已提交
74
}