Dieter Maurer wrote:
   def p64(v):
       """Pack an integer or long into a 8-byte string"""

Yes, but for that to be meaningful, you have to know that:

- 0xSomething is an integer or long (it read "hex number" in my head"

- oids are 8-byte strings

Neither of things that sit in my brain :-(

But, you knew all this. Otherwise, you would not have been
able to implement the "oid_[un]repr" functions.

I didn't implement oid_repr. I traced the code to find that was generating the conflict error. I think worked back from that to end up with oid_unrepr. The first time I became aware of "p64" was when you mentioned it...

I much prefer the "p64" over "oid_unrepr" (or was it "oid_repr"?):

  When I need it, I am hunting bugs in an interactive Python interpreter
  session and in such a situation I like "p64" much more than
  the three times as long "oid_unrepr".

That's fine, I'm only proposing an alias, and some more documentation...

BTW: you did not choose your names well.
*IF* you want an alias (I think it would not be necessary),
choose something like "oid_tohex" and "oid_fromhex".

This tells you not only that you work with *some* representation
but with a hexadecimal representation (there are lots of different
ways, an "oid" can be represented).

The alias I suggested is purely to mirror that of the oid_repr function, and I would include it directly above of below the oid_repr function with bigger documentation clues for blind people like me ;-)

Does anyone have any non-pedantic reasons for not including this alias?


Simplistix - Content Management, Zope & Python Consulting
For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -

Reply via email to