Tim Peters wrote:
You found ZODB.utils, which was a sensible place to look. I don't really
understand how you found ZODB.utils but didn't manage to find p64, because
p64 is the first function in the file.
Because its name means nothing to me...
I guess p64 needs documenting,
I think its docstring is reasonably clear:
"""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 :-(
In addition to that, it would be helpful to have a tutorial overview
"somewhere" explaining that FileStorage oids are 8-byte strings. I don't
know where to put that so that people would find it, though. For example,
where would you have found it?
I dunno, readme.txt? reference.txt?
and maybe a better name?
Many ZODB users already know this, and there are references to p64 on user
web pages. For example,
shows how to do what you started out to do:
from Zope.Startup.run import configure;configure('zope-8000/zope.conf')
from Zope import app; root = app()
from ZODB.utils import p64
o = root._p_jar[p64(0x277FEL)]
OOBucket([('566', -1920968609), ...])
Indeed, Google failed me *sigh*
I don't want to break pages like that, so the current name has to remain.
It would be possible to add an alias. I'm -0 on that (would violate TOOWTDI
in exchange for ... well, not sure it would really help anyone anyway).
It might help some people (would have helped me ;-) ) and would it hurt
Simplistix - Content Management, Zope & Python Consulting
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org