feat: 支持kg源歌词获取

This commit is contained in:
helloplhm-qwq
2023-12-31 14:05:45 +08:00
parent 18fd6a4cb2
commit 0d21d71a61
5 changed files with 197 additions and 6 deletions

View File

@ -15,7 +15,7 @@ import zlib
import time
import re
import xmltodict
from urllib.parse import quote
from urllib.parse import quote, unquote, urlparse
from hashlib import md5 as handleCreateMD5
def createBase64Encode(data_bytes):
@ -88,8 +88,35 @@ def unique_list(list_in):
return unique_list
def encodeURIComponent(component):
if (isinstance(component, str)):
component = component.encode('utf-8')
elif (not isinstance(component, bytes)):
raise TypeError('component must be str or bytes')
return quote(component)
def decodeURIComponent(component):
return unquote(component)
def encodeURI(uri):
parse_result = urlparse(uri)
params = {}
for q in parse_result.query.split('&'):
k, v = q.split('=')
v = encodeURIComponent(v)
params[k] = v
query = '&'.join([f'{k}={v}' for k, v in params.items()])
return parse_result._replace(query=query).geturl()
def decodeURI(uri):
parse_result = urlparse(uri)
params = {}
for q in parse_result.query.split('&'):
k, v = q.split('=')
v = decodeURIComponent(v)
params[k] = v
query = '&'.join([f'{k}={v}' for k, v in params.items()])
return parse_result._replace(query=query).geturl()
def sortDict(dictionary):
sorted_items = sorted(dictionary.items())
sorted_dict = {k: v for k, v in sorted_items}