aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/blueprints/users/claim.py3
-rw-r--r--app/tasks/phpbbparser.py16
2 files changed, 10 insertions, 9 deletions
diff --git a/app/blueprints/users/claim.py b/app/blueprints/users/claim.py
index 4e0f1ec..5f6a25b 100644
--- a/app/blueprints/users/claim.py
+++ b/app/blueprints/users/claim.py
@@ -30,6 +30,7 @@ def claim():
username = ""
else:
method = request.args.get("method")
+
user = User.query.filter_by(forums_username=username).first()
if user and user.rank.atLeast(UserRank.NEW_MEMBER):
flash("User has already been claimed", "danger")
@@ -37,7 +38,7 @@ def claim():
elif method == "github":
if user is None or user.github_username is None:
flash("Unable to get Github username for user", "danger")
- return redirect(url_for("users.claim"))
+ return redirect(url_for("users.claim", username=username))
else:
return redirect(url_for("github.start"))
elif user is None and request.method == "POST":
diff --git a/app/tasks/phpbbparser.py b/app/tasks/phpbbparser.py
index 752c7a6..caaa730 100644
--- a/app/tasks/phpbbparser.py
+++ b/app/tasks/phpbbparser.py
@@ -21,10 +21,10 @@ class Profile:
self.properties = {}
def set(self, key, value):
- self.properties[key] = value
+ self.properties[key.lower()] = value
def get(self, key):
- return self.properties[key] if key in self.properties else None
+ return self.properties.get(key.lower())
def __str__(self):
return self.username + "\n" + str(self.signature) + "\n" + str(self.properties)
@@ -39,7 +39,7 @@ def __extract_properties(profile, soup):
if len(imgs) == 1:
profile.avatar = imgs[0]["src"]
- res = el.find_all("dl", class_ = "left-box details")
+ res = el.select("dl.left-box.details")
if len(res) != 1:
return None
@@ -85,12 +85,12 @@ def getProfile(url, username):
soup = BeautifulSoup(contents, "lxml")
if soup is None:
return None
- else:
- profile = Profile(username)
- profile.signature = __extract_signature(soup)
- __extract_properties(profile, soup)
- return profile
+ profile = Profile(username)
+ profile.signature = __extract_signature(soup)
+ __extract_properties(profile, soup)
+
+ return profile
regex_id = re.compile(r"^.*t=([0-9]+).*$")