Files
@ 5c80ca07f00c
Branch filter:
Location: Morevna/src/datafile.py - annotation
5c80ca07f00c
591 B
text/x-python
reformatted whitespace with more respect for PEP-8
bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 5c80ca07f00c bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 5c80ca07f00c 5c80ca07f00c 5c80ca07f00c bb3b53ee15d6 bb3b53ee15d6 5c80ca07f00c 5c80ca07f00c bb3b53ee15d6 5c80ca07f00c bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 5c80ca07f00c bb3b53ee15d6 5c80ca07f00c bb3b53ee15d6 bb3b53ee15d6 5c80ca07f00c bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 | from hashtree import HashTree
BLOCK_SIZE = HashTree.BLOCK_SIZE
class DataFile:
def __init__(self, fileHandle):
self._lastIndex = 0
self._f = fileHandle
@staticmethod
def open(filename, mode="rb"):
return DataFile(open(filename, mode=mode))
def writeAt(self, i, blockData):
if i!=self._lastIndex+1:
self._f.seek(i*BLOCK_SIZE)
self._f.write(blockData)
self._lastIndex = i
def readFrom(self, i, byteCount=BLOCK_SIZE):
if i!=self._lastIndex+1:
self._f.seek(i*BLOCK_SIZE)
self._lastIndex = i
return self._f.read(byteCount)
def close(self):
self._f.close()
|