diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-04-14 14:39:49 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-04-14 14:39:59 +0100 |
commit | dadfe72b480f05d6d31aaf575afaa34e53c450ab (patch) | |
tree | 7c7d890e9935ee6d1271380ce17dac9c4ae9f8c0 /app/tasks/phpbbparser.py | |
parent | 9cc3eba0099c46cb0818e5beb06f855441814b0c (diff) | |
download | cheatdb-dadfe72b480f05d6d31aaf575afaa34e53c450ab.tar.xz |
Improve user authentication error handling
Diffstat (limited to 'app/tasks/phpbbparser.py')
-rw-r--r-- | app/tasks/phpbbparser.py | 9 |
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 |