This commit is contained in:
Iliyan Angelov
2025-11-19 12:27:01 +02:00
parent 2043ac897c
commit 34b4c969d4
469 changed files with 26870 additions and 8329 deletions

View File

@@ -0,0 +1,35 @@
class File(object):
@classmethod
def fromhandle(cls, handle):
return File(handle.name, handle.mode)
def __init__(self, name, mode='rb'):
self._handle = None
self._data = None
self.mode = mode
self.closed = False
self.name = name
def read(self):
self.open()
if self._data:
return self._data
else:
self._data = self._handle.read()
return self._data
def close(self):
if self._handle:
self._handle.close()
self._handle = None
self.closed = True
def open(self):
if not self._handle:
if not self.closed:
self._handle = open(self.name, self.mode)
else:
raise IOError('Open of closed file')