From: Mark Wooding Date: Mon, 1 May 2017 00:38:30 +0000 (+0100) Subject: catacomb/__init__.py: Add `_clsname' for printing class names. X-Git-Tag: 1.2.0~25 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-python/commitdiff_plain/330e6a7404a3061ce131e980c57e118716ea6a60 catacomb/__init__.py: Add `_clsname' for printing class names. Replace both the ugly `type(me).__name__' rune, and literal class names. --- diff --git a/catacomb/__init__.py b/catacomb/__init__.py index 64f07c3..d0411be 100644 --- a/catacomb/__init__.py +++ b/catacomb/__init__.py @@ -83,13 +83,14 @@ def _checkend(r): return x ## Some pretty-printing utilities. +def _clsname(me): return type(me).__name__ def _pp_str(me, pp, cyclep): pp.text(cyclep and '...' or str(me)) def _pp_bgroup(pp, text): ind = len(text) pp.begin_group(ind, text) return ind def _pp_bgroup_tyname(pp, obj, open = '('): - return _pp_bgroup(pp, type(obj).__name__ + open) + return _pp_bgroup(pp, _clsname(obj) + open) def _pp_kv(pp, k, v): ind = _pp_bgroup(pp, k + ' = ') pp.pretty(v) @@ -179,7 +180,7 @@ class BaseRat (object): @property def denom(me): return me._d def __str__(me): return '%s/%s' % (me._n, me._d) - def __repr__(me): return '%s(%s, %s)' % (type(me).__name__, me._n, me._d) + def __repr__(me): return '%s(%s, %s)' % (_clsname(me), me._n, me._d) _repr_pretty_ = _pp_str def __add__(me, you): @@ -256,7 +257,7 @@ class _tmp: _augment(Field, _tmp) class _tmp: - def __repr__(me): return '%s(%sL)' % (type(me).__name__, me.p) + def __repr__(me): return '%s(%sL)' % (_clsname(me), me.p) def __hash__(me): return 0x114401de ^ hash(me.p) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) @@ -267,7 +268,7 @@ class _tmp: _augment(PrimeField, _tmp) class _tmp: - def __repr__(me): return '%s(%#xL)' % (type(me).__name__, me.p) + def __repr__(me): return '%s(%#xL)' % (_clsname(me), me.p) def ec(me, a, b): return ECBinProjCurve(me, a, b) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) @@ -299,7 +300,7 @@ _augment(FE, _tmp) class _tmp: def __repr__(me): - return '%s(%r, %s, %s)' % (type(me).__name__, me.field, me.a, me.b) + return '%s(%r, %s, %s)' % (_clsname(me), me.field, me.a, me.b) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: @@ -337,8 +338,8 @@ _augment(ECBinCurve, _tmp) class _tmp: def __repr__(me): - if not me: return 'ECPt()' - return 'ECPt(%s, %s)' % (me.ix, me.iy) + if not me: return '%s()' % _clsname(me) + return '%s(%s, %s)' % (_clsname(me), me.ix, me.iy) def __str__(me): if not me: return 'inf' return '(%s, %s)' % (me.ix, me.iy) @@ -356,8 +357,8 @@ _augment(ECPt, _tmp) class _tmp: def __repr__(me): - return 'ECInfo(curve = %r, G = %r, r = %s, h = %s)' % \ - (me.curve, me.G, me.r, me.h) + return '%s(curve = %r, G = %r, r = %s, h = %s)' % \ + (_clsname(me), me.curve, me.G, me.r, me.h) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: @@ -400,15 +401,15 @@ _augment(ECPtCurve, _tmp) ### Key sizes. class _tmp: - def __repr__(me): return 'KeySZAny(%d)' % me.default + def __repr__(me): return '%s(%d)' % (_clsname(me), me.default) def check(me, sz): return True def best(me, sz): return sz _augment(KeySZAny, _tmp) class _tmp: def __repr__(me): - return 'KeySZRange(%d, %d, %d, %d)' % \ - (me.default, me.min, me.max, me.mod) + return '%s(%d, %d, %d, %d)' % \ + (_clsname(me), me.default, me.min, me.max, me.mod) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: @@ -427,7 +428,7 @@ class _tmp: _augment(KeySZRange, _tmp) class _tmp: - def __repr__(me): return 'KeySZSet(%d, %s)' % (me.default, me.set) + def __repr__(me): return '%s(%d, %s)' % (_clsname(me), me.default, me.set) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: @@ -451,17 +452,17 @@ _augment(KeySZSet, _tmp) ### Key data objects. class _tmp: - def __repr__(me): return 'KeyFile(%r)' % me.name + def __repr__(me): return '%s(%r)' % (_clsname(me), me.name) _augment(KeyFile, _tmp) class _tmp: - def __repr__(me): return 'Key(%r)' % me.fulltag + def __repr__(me): return '%s(%r)' % (_clsname(me), me.fulltag) _augment(Key, _tmp) class _tmp: def __repr__(me): - return 'KeyAttributes({%s})' % \ - ', '.join(['%r: %r' % kv for kv in me.iteritems()]) + return '%s({%s})' % (_clsname(me), + ', '.join(['%r: %r' % kv for kv in me.iteritems()])) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: pp.text('...') @@ -472,7 +473,7 @@ _augment(KeyAttributes, _tmp) class _tmp: def __repr__(me): return '%s(%s, %r)' % \ - (type(me).__name__, repr(me._guts()), me.writeflags(me.flags)) + (_clsname(me), repr(me._guts()), me.writeflags(me.flags)) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: @@ -505,8 +506,8 @@ _augment(KeyDataECPt, _tmp) class _tmp: def __repr__(me): - return 'KeyDataStructured({%s})' % \ - ', '.join(['%r: %r' % kv for kv in me.iteritems()]) + return '%s({%s})' % (_clsname(me), + ', '.join(['%r: %r' % kv for kv in me.iteritems()])) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me, '({ ') if cyclep: pp.text('...') @@ -519,8 +520,7 @@ _augment(KeyDataStructured, _tmp) class _tmp: def __repr__(me): - return '%s(p = %s, r = %s, g = %s)' % \ - (type(me).__name__, me.p, me.r, me.g) + return '%s(p = %s, r = %s, g = %s)' % (_clsname(me), me.p, me.r, me.g) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: @@ -542,7 +542,7 @@ _augment(BinDHInfo, _tmp) class _tmp: def __repr__(me): - return '%s(%r)' % (type(me).__name__, me.info) + return '%s(%r)' % (_clsname(me), me.info) def _repr_pretty_(me, pp, cyclep): ind = _pp_bgroup_tyname(pp, me) if cyclep: pp.text('...')