Files
@ e3c116b7dc5c
Branch filter:
Location: Morevna/src/datafile.py - annotation
e3c116b7dc5c
574 B
text/x-python
bugfix: really recover from a failed ssl connection
bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 bb3b53ee15d6 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()
|