Skip to content

bramcohen/UtahDataCenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

This is a utility for recording all writes to an object and then playing them back later.

>>> from UtahDataCenter import utah
>>> x = utah({})
>>> x[3] = []
>>> x[3].append({})
>>> x[3][0][4] = 'abc'
>>> x
{3: [{4: 'abc'}]}
>>> x.dump()
[3] = []
2013 Mar 20 20:56:58.635847
  File "", line 1, in 

[3].append({})
2013 Mar 20 20:57: 4.570768
  File "", line 1, in 

[3][0][4] = 'abc'
2013 Mar 20 20:57:34.640986
  File "", line 1, in 

treedemo.py demonstrates that it even works through method invocations

~/UtahDataCenter master $ python3 treedemo.py 
.higher = tree[7,49,None,None]
2013 Mar 20 21:29:45.753952
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 19, in insert
    self.higher = tree(key, value)

.higher.lower = tree[6,36,None,None]
2013 Mar 20 21:29:45.754378
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 14, in insert
    self.lower = tree(key, value)

.lower = tree[4,16,None,None]
2013 Mar 20 21:29:45.754472
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 14, in insert
    self.lower = tree(key, value)

.higher.lower.lower = tree[5,25,None,None]
2013 Mar 20 21:29:45.754631
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 14, in insert
    self.lower = tree(key, value)

.higher.higher = tree[8,64,None,None]
2013 Mar 20 21:29:45.754785
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 19, in insert
    self.higher = tree(key, value)

.lower.lower = tree[0,0,None,None]
2013 Mar 20 21:29:45.754904
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 14, in insert
    self.lower = tree(key, value)

.lower.lower.higher = tree[1,1,None,None]
2013 Mar 20 21:29:45.755053
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 19, in insert
    self.higher = tree(key, value)

.lower.lower.higher.higher = tree[3,9,None,None]
2013 Mar 20 21:29:45.755248
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 19, in insert
    self.higher = tree(key, value)

.lower.lower.higher.higher.lower = tree[2,4,None,None]
2013 Mar 20 21:29:45.755489
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 16, in insert
    self.lower.insert(key, value)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 14, in insert
    self.lower = tree(key, value)

.higher.higher.higher = tree[9,81,None,None]
2013 Mar 20 21:29:45.755685
  File "treedemo.py", line 38, in 
    mytree.insert(i, i*i)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 21, in insert
    self.higher.insert(key, value)
  File "treedemo.py", line 19, in insert
    self.higher = tree(key, value)

About

A tool for logging everything

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages