Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mitsuhiko/unicode-nazi

Annoying helper module that finds unicode/bytestring comparisions
https://github.com/mitsuhiko/unicode-nazi

Last synced: 3 months ago
JSON representation

Annoying helper module that finds unicode/bytestring comparisions

Awesome Lists containing this project

README

        

// The Unicode Nazi //

Once enabled the unicode nazi will complain whenever something is not
purely unicode or bytestring. It's annoying as hell and only useful
when porting over libraries from Python 2 to Python 3. It has a huge
runtime impact on performance and will also complain about most of the
stuff in the Python standard library.

- usage:

>>> import unicodenazi
>>> 'foo' == u'foo'
__main__:1: UnicodeWarning: Implicit conversion of str to unicode
True

- how to disable it again:

>>> unicodenazi.disable()

- and here is how to enable:

>>> unicodenazi.enable()

- if you want to enable it only for a given block:

>>> unicodenazi.disable()
>>> with unicodenazi.blockwise(enabled=True):
... assert 'foo' == u'foo'
...
__main__:2: UnicodeWarning: Implicit conversion of str to unicode

The reverse works too of course.

The module can be used from a command line:

$ python -municodenazi your_script.py [script_args..]