Annoying helper module that finds unicode/bytestring comparisions
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


  // 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

  - 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 [script_args..]