Skip to content

Annoying helper module that finds unicode/bytestring comparisions

License

Notifications You must be signed in to change notification settings

mitsuhiko/unicode-nazi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


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