Skip to main content

Representing complex object as unicode or simple string.

Project description

unilog

Version PyVersions License

Representing complex object as unicode or simple string.

Installation

$ pip install unilog

Example

data = {
    'date': datetime.date(2016, 12, 6),
    'datetime': datetime.datetime(2016, 12, 6, 11, 22, 33, 444444),
    'str': 'item1',
    'str2': 'пункт2',
    u'юникод': u'пункт3',
    'int': 4,
    'float': 4.44,
    'bytearray': bytearray([0, 1, 2]),
    'NoneType': None,
    'True': True,
    'False': False,
    'list': [
        datetime.date(2016, 12, 6), datetime.datetime(2016, 12, 6, 11, 22, 33, 444444),
        'item1', 'пункт2', u'пункт3', 4, 4.44, bytearray([0, 1, 2]), None, True, False
    ],
    'tuple': (
        datetime.date(2016, 12, 6), datetime.datetime(2016, 12, 6, 11, 22, 33, 444444),
        'item1', 'пункт2', u'пункт3', 4, 4.44, bytearray([0, 1, 2]), None, True, False
    ),
    'generator': (i for i in xrange(3, 6))
}

# default python behavior
>>> print unicode(data)
{'bytearray': bytearray(b'\x00\x01\x02'), 'tuple': (datetime.date(2016, 12, 6), datetime.datetime(2016, 12, 6, 11, 22, 33, 444444), 'item1', '\xd0\xbf\xd1\x83\xd0\xbd\xd0\xba\xd1\x822', u'\u043f\u0443\u043d\u043a\u04423', 4, 4.44, bytearray(b'\x00\x01\x02'), None, True, False), 'int': 4, 'float': 4.44, 'datetime': datetime.datetime(2016, 12, 6, 11, 22, 33, 444444), 'date': datetime.date(2016, 12, 6), 'False': False, 'generator': <generator object <genexpr> at 0x7ff51a58df00>, 'str2': '\xd0\xbf\xd1\x83\xd0\xbd\xd0\xba\xd1\x822', 'list': [datetime.date(2016, 12, 6), datetime.datetime(2016, 12, 6, 11, 22, 33, 444444), 'item1', '\xd0\xbf\xd1\x83\xd0\xbd\xd0\xba\xd1\x822', u'\u043f\u0443\u043d\u043a\u04423', 4, 4.44, bytearray(b'\x00\x01\x02'), None, True, False], 'str': 'item1', u'\u044e\u043d\u0438\u043a\u043e\u0434': u'\u043f\u0443\u043d\u043a\u04423', 'True': True, 'NoneType': None}

# use unilog.as_unicode function
>>> print unilog.as_unicode(data)
{'bytearray': b'\\x00\\x01\\x02', 'tuple': (u'2016-12-06', u'2016-12-06 11:22:33.444444', 'item1', 'пункт2', u'пункт3', 4, 4.44, b'\\x00\\x01\\x02', None, True, False), 'int': 4, 'float': 4.44, 'datetime': u'2016-12-06 11:22:33.444444', 'date': u'2016-12-06', 'False': False, 'generator': (3, 4, 5), 'str2': 'пункт2', 'list': [u'2016-12-06', u'2016-12-06 11:22:33.444444', 'item1', 'пункт2', u'пункт3', 4, 4.44, b'\\x00\\x01\\x02', None, True, False], 'str': 'item1', u'юникод': u'пункт3', 'True': True, 'NoneType': None}

# use unilog.as_unicode function with pretty print
>>> print unilog.as_unicode(data, pretty=True)
{
    'bytearray': b'\\x00\\x01\\x02',
    'tuple': (
        u'2016-12-06',
        u'2016-12-06 11:22:33.444444',
        'item1',
        'пункт2',
        u'пункт3',
        4,
        4.44,
        b'\\x00\\x01\\x02',
        None,
        True,
        False
    ),
    'int': 4,
    'float': 4.44,
    'datetime': u'2016-12-06 11:22:33.444444',
    'date': u'2016-12-06',
    'False': False,
    'generator': (
        3,
        4,
        5
    ),
    'str2': 'пункт2',
    'list': [
        u'2016-12-06',
        u'2016-12-06 11:22:33.444444',
        'item1',
        'пункт2',
        u'пункт3',
        4,
        4.44,
        b'\\x00\\x01\\x02',
        None,
        True,
        False
    ],
    'str': 'item1',
    u'юникод': u'пункт3',
    'True': True,
    'NoneType': None
}

License

MIT licensed. See the bundled LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unilog-1.3.1.tar.gz (3.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page