33 lines
850 B
Python
33 lines
850 B
Python
import urllib.parse
|
|
import os
|
|
|
|
def parse(url):
|
|
url = url.split("?",1)
|
|
url[0] = urllib.parse.unquote(url[0],encoding="utf-8")
|
|
if len(url) < 2: url.append("")
|
|
url[1] = url[1].split("&")
|
|
for i in range(len(url[1])):
|
|
url[1][i] = url[1][i].split("=",1)
|
|
if len(url[1][i] < 2): url[1][i].append("")
|
|
url[1][i][0] = urllib.parse.unquote(url[1][i][0],encoding="utf-8")
|
|
url[1][i][1] = urllib.parse.unquote(url[1][i][1],encoding="utf-8")
|
|
|
|
def standardize(path):
|
|
path = path.replace("/",os.path.sep)
|
|
path = path.replace("\\",os.path.sep)
|
|
path = path.lstrip(os.path.sep)
|
|
while os.path.sep + os.path.sep in path:
|
|
path = path.replace(os.path.sep + os.path.sep,os.path.sep)
|
|
path = path.split(os.path.sep)
|
|
|
|
i = 0
|
|
length = len(path)
|
|
while i < length:
|
|
if path[i] in [".",".."]:
|
|
del path[i]
|
|
length -= 1
|
|
continue
|
|
i += 1
|
|
|
|
return path
|