Martin P. Hellwig wrote: > Bruno Desthuilliers wrote: > <cut> > >> >> Why not just use the call operator instead ? ie: >> >> >>> id = IDGenerator(...) >> >>> id() >> 01_20060424_151903_1 >> >>> id() >> 01_20060424_151905_2 >> > > Because of: > >>>>> id = IDGenerator("01",99) >>>>> id() >> >> Traceback (most recent call last): >> File "<pyshell#1>", line 1, in ? >> id() >> TypeError: 'IDGenerator' object is not callable >> >>>>>
Of course - you have to overload the call operator for this to work. Just rename IDGenerator.__repr__ to IDGenerator.__call__, and I garantee this will work - and will be *much* more cleaner than abusing __repr__. -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list