Milimetric has uploaded a new change for review. https://gerrit.wikimedia.org/r/81275
Change subject: ugggggggh, ENCODING ...................................................................... ugggggggh, ENCODING Change-Id: I5771c75aca1db196669e9361e5d7ddab0b44e290 --- M tests/test_controllers/test_cohorts.py M wikimetrics/controllers/cohorts.py 2 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics refs/changes/75/81275/1 diff --git a/tests/test_controllers/test_cohorts.py b/tests/test_controllers/test_cohorts.py index fb585a3..bb4d1fa 100644 --- a/tests/test_controllers/test_cohorts.py +++ b/tests/test_controllers/test_cohorts.py @@ -290,6 +290,11 @@ link = link_to_user_page('Dan', 'en') assert_equal(link, 'https://en.wikipedia.org/wiki/User:Dan') + def test_link_to_user_page_unicode(self): + link_to_user_page('ولاء عبد المنعم', 'ar') + # just want to make sure no exceptions are raised + assert_true(True) + def test_validate_records(self): (valid, invalid) = validate_records([ { diff --git a/wikimetrics/controllers/cohorts.py b/wikimetrics/controllers/cohorts.py index 2dcfc4e..074cda3 100644 --- a/wikimetrics/controllers/cohorts.py +++ b/wikimetrics/controllers/cohorts.py @@ -373,7 +373,16 @@ def link_to_user_page(username, project): project = project_name_for_link(project) - return 'https://{0}.wikipedia.org/wiki/User:{1}'.format(project, username) + user_link = 'https://{0}.wikipedia.org/wiki/User:{1}' + user_not_found_link = 'https://{0}.wikipedia.org/wiki/Username_could_not_be_parsed' + # TODO: python 2 has insane unicode handling, switch to python 3 + try: + return user_link.format(project, username) + except UnicodeEncodeError: + try: + return user_link.format(project, username.encode('utf8')) + except: + return user_not_found_link.format(project) def validate_records(records): -- To view, visit https://gerrit.wikimedia.org/r/81275 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5771c75aca1db196669e9361e5d7ddab0b44e290 Gerrit-PatchSet: 1 Gerrit-Project: analytics/wikimetrics Gerrit-Branch: master Gerrit-Owner: Milimetric <dandree...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits