bidi/algorithm.py
def debug_storage(storage, base_info=False, chars=True, runs=False):
    "Display debug information for the storage"

    import codecs
    import locale
    import sys

    if six.PY2:
        stderr = codecs.getwriter(locale.getpreferredencoding())(sys.stderr)
    else:
        stderr = sys.stderr

    caller = inspect.stack()[1][3]
    stderr.write('in %s\n' % caller)

    if base_info:
        stderr.write(u'  base level  : %d\n' % storage['base_level'])
        stderr.write(u'  base dir    : %s\n' % storage['base_dir'])

    if runs:
        stderr.write(u'  runs        : %s\n' % list(storage['runs']))

    if chars:
        output = u'  Chars       : '
        for _ch in storage['chars']:
            if _ch != '\n':
                output += _ch['ch']
            else:
                output += 'C'
        stderr.write(output + u'\n')

        output = u'  Res. levels : %s\n' % u''.join(
            [six.text_type(_ch['level']) for _ch in storage['chars']])
        stderr.write(output)

        _types = [_ch['type'].ljust(3) for _ch in storage['chars']]

        for i in range(3):
            if i:
                output = u'                %s\n'
            else:
                output = u'  Res. types  : %s\n'
            stderr.write(output % u''.join([_t[i] for _t in _types]))
def debug_storage(storage, base_info=False, chars=True, runs=False):
    "Display debug information for the storage"

    import codecs
    import locale
    import sys

    if six.PY2:
        stderr = codecs.getwriter(locale.getpreferredencoding())(sys.stderr)
    else:
        stderr = sys.stderr

    caller = inspect.stack()[1][3]
    stderr.write('in %s\n' % caller)

    if base_info:
        stderr.write(u'  base level  : %d\n' % storage['base_level'])
        stderr.write(u'  base dir    : %s\n' % storage['base_dir'])

    if runs:
        stderr.write(u'  runs        : %s\n' % list(storage['runs']))

    if chars:
        output = u'  Chars       : '
        for _ch in storage['chars']:
            if _ch != '\n':
                output += _ch['ch']
            else:
                output += 'C'
        stderr.write(output + u'\n')

        output = u'  Res. levels : %s\n' % u''.join(
            [six.text_type(_ch['level']) for _ch in storage['chars']])
        stderr.write(output)

        _types = [_ch['type'].ljust(3) for _ch in storage['chars']]

        for i in range(3):
            if i:
                output = u'                %s\n'
            else:
                output = u'  Res. types  : %s\n'
            stderr.write(output % u''.join([_t[i] for _t in _types]))
def debug_storage ( storage , base_info = False , chars = True , runs = False ) : import codecs import locale import sys if six . PY2 : stderr = codecs . getwriter ( locale . getpreferredencoding ( ) ) ( sys . stderr ) else : stderr = sys . stderr caller = inspect . stack ( ) [ 1 ] [ 3 ] stderr . write ( 'in %s\n' % caller ) if base_info : stderr . write ( u'  base level  : %d\n' % storage [ 'base_level' ] ) stderr . write ( u'  base dir    : %s\n' % storage [ 'base_dir' ] ) if runs : stderr . write ( u'  runs        : %s\n' % list ( storage [ 'runs' ] ) ) if chars : output = u'  Chars       : ' for _ch in storage [ 'chars' ] : if _ch != '\n' : output += _ch [ 'ch' ] else : output += 'C' stderr . write ( output + u'\n' ) output = u'  Res. levels : %s\n' % u'' . join ( [ six . text_type ( _ch [ 'level' ] ) for _ch in storage [ 'chars' ] ] ) stderr . write ( output ) _types = [ _ch [ 'type' ] . ljust ( 3 ) for _ch in storage [ 'chars' ] ] for i in range ( 3 ) : if i : output = u'                %s\n' else : output = u'  Res. types  : %s\n' stderr . write ( output % u'' . join ( [ _t [ i ] for _t in _types ] ) )
Display debug information for the storage
Display debug information for the storage