[Zodb-checkins] CVS: StandaloneZODB/ZODB - utils.py:1.7
Jeremy Hylton
jeremy@zope.com
Fri, 5 Oct 2001 17:14:06 -0400
Update of /cvs-repository/StandaloneZODB/ZODB
In directory cvs.zope.org:/tmp/cvs-serv9754
Modified Files:
utils.py
Log Message:
Take two: Speed up p64(), u64(), and U64().
Also, reformat code using guidlines from the Friends of Whitespace.
Fix newTimeStamp() so that it always returns a timestamp.
XXX still not sure that it works.
=== StandaloneZODB/ZODB/utils.py 1.6 => 1.7 ===
def p64(v, pack=struct.pack):
"""Pack an integer or long into a 8-byte string"""
- if v < t32: h=0
+ if v < t32:
+ h = 0
else:
- h=v/t32
- v=v%t32
+ h, v = divmod(v, t32)
return pack(">II", h, v)
def u64(v, unpack=struct.unpack):
"""Unpack an 8-byte string into a 64-bit (or long) integer"""
h, v = unpack(">ii", v)
- if v < 0: v=t32+v
+ if v < 0:
+ v = t32 + v
if h:
- if h < 0: h=t32+h
- v=h*t32+v
+ if h < 0:
+ h= t32 + h
+ v = (long(h) << 32) + v
return v
def U64(v, unpack=struct.unpack):
"""Same as u64 but always returns a long."""
h, v = unpack(">II", v)
if h:
- v=h*t32+v
+ v = (long(h) << 32) + v
return v
def cp(f1, f2, l):
- read=f1.read
- write=f2.write
- n=8192
+ read = f1.read
+ write = f2.write
+ n =8192
while l > 0:
- if n > l: n=l
- d=read(n)
- if not d: break
+ if n > l:
+ n = l
+ d = read(n)
+ if not d:
+ break
write(d)
l = l - len(d)
@@ -127,8 +131,8 @@
def newTimeStamp(old=None,
TimeStamp=TimeStamp.TimeStamp,
time=time.time, gmtime=time.gmtime):
- t=time()
- ts=TimeStamp(gmtime(t)[:5]+(t%60,))
- if old is not None: return ts.laterThan(than)
-
-
+ t = time()
+ ts = TimeStamp(gmtime(t)[:5]+(t%60,))
+ if old is not None:
+ return ts.laterThan(old)
+ return ts