def set(self, c, h, value):
     if h is None:
         h = chr(0) * 32
     vv = int_to_bytes8(value)
     item = h + vv
     assert len(item) == 40
     if self.has(c):
         self.remove(c)
     x = self.indexof(c)
     self.s = self.s[0:x] + item + self.s[x:]
     self.k |= (1 << ord(c))
     assert self.k != 0
Example #2
0
 def set(self, c, h, value):
     if h is None:
         h = chr(0)*32
     vv = int_to_bytes8(value)
     item = h + vv
     assert len(item) == 40
     if self.has(c):
         self.remove(c)
     x = self.indexof(c)
     self.s = self.s[0:x] + item + self.s[x:]
     self.k |= (1<<ord(c))
     assert self.k != 0
 def from_dict(klass, d):
     k = 0
     s = ''
     for i in xrange(256):
         if chr(i) in d:
             k += 1 << i
             h, value = d[chr(i)]
             if h is None: h = chr(0) * 32
             vv = int_to_bytes8(value)
             item = h + vv
             assert len(item) == 40
             s += item
     k = "0x%0.64X" % k  # 32 bytes
     k = k[2:].decode('hex')
     assert len(k) == 32
     out = k + s
     return Node(out)
Example #4
0
 def from_dict(klass, d):
     k = 0
     s = ''
     for i in xrange(256):
         if chr(i) in d:
             k += 1<<i
             h, value = d[chr(i)]
             if h is None: h = chr(0)*32
             vv = int_to_bytes8(value)
             item = h + vv
             assert len(item) == 40
             s += item
     k = "0x%0.64X" % k # 32 bytes
     k = k[2:].decode('hex')
     assert len(k) == 32
     out = k + s
     return Node(out)