Audit all strings in djblets and convert to __future__.unicode_literals
Review Request #4944 — Created Nov. 12, 2013 and submitted — Latest diff uploaded
Audit all strings in djblets and convert to
__future__.unicode_literalsThis change represents an audit of all of the strings in the djblets codebase.
Where the strings were actually binary data (specifically with our treatment of
settings.EMAIL_HOST_USERandsettings.EMAIL_HOST_PASSWORD, and anything passed
intosha1()ormd5()), I've made it use thebytestype. Otherwise, these are
nowunicodeobjects by virtue of importingunicode_literalsfrom__future__.There's also a bunch of fixes to our handling of cache keys, especially those
for large data, much more consistent. We always keep the cache key as a unicode
object and create derivative keys (like the chunk keys for large data) with
that. At the last moment, before callingcache.get()orcache.set(), we pass
that tomake_cache_key, which will shorten it if necessary using md5, and then
encode to utf-8 (since not all cache backends support the unicode object as
keys).
- Verified my assumptions about treatment of
unicodevs.stringetattr,
hasattr,delattr,__getattr__,__hasattr__,__delattr__,hash, regular
expressions, and memcache keys. - Ran djblets unit tests
- Ran Review Board unit tests