mirror of
https://github.com/minetest/contentdb.git
synced 2024-09-20 04:48:30 +02:00
parent
c3d96c7459
commit
b9e1be57e4
@ -9,6 +9,8 @@ from datetime import datetime
|
||||
import urllib.request
|
||||
import os.path
|
||||
import time, re
|
||||
import urllib.parse as urlparse
|
||||
from urllib.parse import urlencode
|
||||
|
||||
def urlEncodeNonAscii(b):
|
||||
return re.sub('[\x80-\xFF]', lambda c: '%%%02x' % ord(c.group(0)), b)
|
||||
@ -71,8 +73,24 @@ def __extract_signature(soup):
|
||||
else:
|
||||
return res[0]
|
||||
|
||||
|
||||
def getProfileURL(url, username):
|
||||
url = urlparse.urlparse(url)
|
||||
|
||||
# Update path
|
||||
url = url._replace(path="/memberlist.php")
|
||||
|
||||
# Set query args
|
||||
query = dict(urlparse.parse_qsl(url.query))
|
||||
query.update({ "un": username, "mode": "viewprofile" })
|
||||
query_encoded = urlencode(query)
|
||||
url = url._replace(query=query_encoded)
|
||||
|
||||
return urlparse.urlunparse(url)
|
||||
|
||||
|
||||
def getProfile(url, username):
|
||||
url = url + "/memberlist.php?mode=viewprofile&un=" + urlEncodeNonAscii(username)
|
||||
url = getProfileURL(url, username)
|
||||
|
||||
req = urllib.request.urlopen(url, timeout=5)
|
||||
if req.getcode() == 404:
|
||||
|
Loading…
Reference in New Issue
Block a user