Hello Milimetric,
I'd like you to do a code review. Please visit
https://gerrit.wikimedia.org/r/125961
to review the following change.
Change subject: Fix type of user_name in SQLAlchemy's model of MediaWiki's user
table
......................................................................
Fix type of user_name in SQLAlchemy's model of MediaWiki's user table
Validation of UTF-8 usernames failed with
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position
13: ordinal not in range(128)
when validating cohorts. This was due to SQLAlchemy thinking it is a
String column in default character set and hence trying to use
ascii. However, it is a VARBINARY containing UTF-8 in MediaWiki. By
fixing the column's type to what MediaWiki uses, SQLAlchemy/Python can
correctly figure out how to handle UTF-8 in user names and allows to
validate them.
Bug: 63836
Change-Id: I526d1fe181993bd05b49e34f2ace61561c9c7c1f
---
M wikimetrics/models/mediawiki/user.py
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics
refs/changes/61/125961/1
diff --git a/wikimetrics/models/mediawiki/user.py
b/wikimetrics/models/mediawiki/user.py
index 0ea0c62..7175b55 100644
--- a/wikimetrics/models/mediawiki/user.py
+++ b/wikimetrics/models/mediawiki/user.py
@@ -1,7 +1,7 @@
from sqlalchemy import Column, Integer, String
from wikimetrics.configurables import db
from custom_columns import MediawikiTimestamp
-from sqlalchemy.dialects.mysql import TINYBLOB
+from sqlalchemy.dialects.mysql import TINYBLOB, VARBINARY
from wikimetrics.utils import UNICODE_NULL
__all__ = ['MediawikiUser']
@@ -12,7 +12,7 @@
# defaults are for user generating data methods
user_id = Column(Integer, primary_key=True)
- user_name = Column(String(255))
+ user_name = Column(VARBINARY(255), nullable=False, default='')
user_real_name = Column(String(255), nullable=False, default='')
user_password = Column(TINYBLOB, nullable=False, default='')
user_newpassword = Column(TINYBLOB, nullable=False, default='')
--
To view, visit https://gerrit.wikimedia.org/r/125961
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I526d1fe181993bd05b49e34f2ace61561c9c7c1f
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: QChris <[email protected]>
Gerrit-Reviewer: Milimetric <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits