aboutsummaryrefslogtreecommitdiff
path: root/app/tasks/phpbbparser.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-04-14 14:39:49 +0100
committerrubenwardy <rw@rubenwardy.com>2020-04-14 14:39:59 +0100
commitdadfe72b480f05d6d31aaf575afaa34e53c450ab (patch)
tree7c7d890e9935ee6d1271380ce17dac9c4ae9f8c0 /app/tasks/phpbbparser.py
parent9cc3eba0099c46cb0818e5beb06f855441814b0c (diff)
downloadcheatdb-dadfe72b480f05d6d31aaf575afaa34e53c450ab.tar.xz
Improve user authentication error handling
Diffstat (limited to 'app/tasks/phpbbparser.py')
-rw-r--r--app/tasks/phpbbparser.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/app/tasks/phpbbparser.py b/app/tasks/phpbbparser.py
index 3df8470..752c7a6 100644
--- a/app/tasks/phpbbparser.py
+++ b/app/tasks/phpbbparser.py
@@ -74,7 +74,14 @@ def __extract_signature(soup):
def getProfile(url, username):
url = url + "/memberlist.php?mode=viewprofile&un=" + urlEncodeNonAscii(username)
- contents = urllib.request.urlopen(url).read().decode("utf-8")
+ req = urllib.request.urlopen(url, timeout=5)
+ if req.getcode() == 404:
+ return None
+
+ if req.getcode() != 200:
+ raise IOError(req.getcode())
+
+ contents = req.read().decode("utf-8")
soup = BeautifulSoup(contents, "lxml")
if soup is None:
return None