diff options
| author | rubenwardy <rw@rubenwardy.com> | 2018-12-25 19:28:32 +0000 |
|---|---|---|
| committer | rubenwardy <rw@rubenwardy.com> | 2018-12-25 19:28:32 +0000 |
| commit | 21960f24047bdf64eff99ec955ff2229c49eff50 (patch) | |
| tree | e5bafd280407fabe863f4d1fbf5b667f02c607e3 /app/tasks | |
| parent | f94885a58f05864682af5394c1b0c3733d46a305 (diff) | |
| download | cheatdb-21960f24047bdf64eff99ec955ff2229c49eff50.tar.xz | |
Add support for using forum profile pictures
Diffstat (limited to 'app/tasks')
| -rw-r--r-- | app/tasks/forumtasks.py | 6 | ||||
| -rw-r--r-- | app/tasks/phpbbparser.py | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/app/tasks/forumtasks.py b/app/tasks/forumtasks.py index 1df6d2b..0a5f028 100644 --- a/app/tasks/forumtasks.py +++ b/app/tasks/forumtasks.py @@ -25,7 +25,7 @@ import urllib.request from urllib.parse import urlparse, quote_plus @celery.task() -def checkForumAccount(username, token=None): +def checkForumAccount(username): try: profile = getProfile("https://forum.minetest.net", username) except OSError: @@ -47,6 +47,10 @@ def checkForumAccount(username, token=None): user.github_username = github_username needsSaving = True + pic = profile.avatar + needsSaving = needsSaving or pic != user.profile_pic + user.profile_pic = pic + # Save if needsSaving: db.session.commit() diff --git a/app/tasks/phpbbparser.py b/app/tasks/phpbbparser.py index 9984ad0..d3e1231 100644 --- a/app/tasks/phpbbparser.py +++ b/app/tasks/phpbbparser.py @@ -15,8 +15,9 @@ def urlEncodeNonAscii(b): class Profile: def __init__(self, username): - self.username = username - self.signature = "" + self.username = username + self.signature = "" + self.avatar = None self.properties = {} def set(self, key, value): @@ -33,6 +34,11 @@ def __extract_properties(profile, soup): if el is None: return None + res1 = el.find_all("dl") + imgs = res1[0].find_all("img") + if len(imgs) == 1: + profile.avatar = imgs[0]["src"] + res = el.find_all("dl", class_ = "left-box details") if len(res) != 1: return None |
