Update ToolFile
This commit is contained in:
@@ -251,65 +251,65 @@ class ToolFile(BaseModel):
|
|||||||
def LoadAsModel(self, model:type["BaseModel"]) -> "BaseModel":
|
def LoadAsModel(self, model:type["BaseModel"]) -> "BaseModel":
|
||||||
return model.model_validate(self.LoadAsJson())
|
return model.model_validate(self.LoadAsJson())
|
||||||
|
|
||||||
def ReadLines(self):
|
def ReadLines(self, **kwargs):
|
||||||
with open(self.OriginFullPath, 'r') as f:
|
with open(self.OriginFullPath, 'r', **kwargs) as f:
|
||||||
while True:
|
while True:
|
||||||
line = f.readline()
|
line = f.readline()
|
||||||
if not line or line == '':
|
if not line or line == '':
|
||||||
break
|
break
|
||||||
yield line
|
yield line
|
||||||
async def ReadLinesAsync(self):
|
async def ReadLinesAsync(self, **kwargs):
|
||||||
import aiofiles
|
import aiofiles
|
||||||
async with aiofiles.open(self.OriginFullPath, 'r') as f:
|
async with aiofiles.open(self.OriginFullPath, 'r', **kwargs) as f:
|
||||||
while True:
|
while True:
|
||||||
line = await f.readline()
|
line = await f.readline()
|
||||||
if not line or line == '':
|
if not line or line == '':
|
||||||
break
|
break
|
||||||
yield line
|
yield line
|
||||||
def ReadBytes(self):
|
def ReadBytes(self, **kwargs):
|
||||||
with open(self.OriginFullPath, 'rb') as f:
|
with open(self.OriginFullPath, 'rb', **kwargs) as f:
|
||||||
while True:
|
while True:
|
||||||
data = f.read(1024)
|
data = f.read(1024)
|
||||||
if not data or data == '':
|
if not data or data == '':
|
||||||
break
|
break
|
||||||
yield data
|
yield data
|
||||||
async def ReadBytesAsync(self):
|
async def ReadBytesAsync(self, **kwargs):
|
||||||
import aiofiles
|
import aiofiles
|
||||||
async with aiofiles.open(self.OriginFullPath, 'rb') as f:
|
async with aiofiles.open(self.OriginFullPath, 'rb', **kwargs) as f:
|
||||||
while True:
|
while True:
|
||||||
data = await f.read(1024)
|
data = await f.read(1024)
|
||||||
if not data or data == '':
|
if not data or data == '':
|
||||||
break
|
break
|
||||||
yield data
|
yield data
|
||||||
|
|
||||||
def WriteBytes(self, data:bytes):
|
def WriteBytes(self, data:bytes, **kwargs):
|
||||||
with open(self.OriginFullPath, 'wb') as f:
|
with open(self.OriginFullPath, 'wb', **kwargs) as f:
|
||||||
f.write(data)
|
f.write(data)
|
||||||
async def WriteBytesAsync(self, data:bytes):
|
async def WriteBytesAsync(self, data:bytes, **kwargs):
|
||||||
import aiofiles
|
import aiofiles
|
||||||
async with aiofiles.open(self.OriginFullPath, 'wb') as f:
|
async with aiofiles.open(self.OriginFullPath, 'wb', **kwargs) as f:
|
||||||
await f.write(data)
|
await f.write(data)
|
||||||
def WriteLines(self, data:List[str]):
|
def WriteLines(self, data:List[str], **kwargs):
|
||||||
with open(self.OriginFullPath, 'w') as f:
|
with open(self.OriginFullPath, 'w', **kwargs) as f:
|
||||||
f.writelines(data)
|
f.writelines(data)
|
||||||
async def WriteLinesAsync(self, data:List[str]):
|
async def WriteLinesAsync(self, data:List[str], **kwargs):
|
||||||
import aiofiles
|
import aiofiles
|
||||||
async with aiofiles.open(self.OriginFullPath, 'w') as f:
|
async with aiofiles.open(self.OriginFullPath, 'w', **kwargs) as f:
|
||||||
await f.writelines(data)
|
await f.writelines(data)
|
||||||
|
|
||||||
def AppendText(self, data:str):
|
def AppendText(self, data:str, **kwargs):
|
||||||
with open(self.OriginFullPath, 'a') as f:
|
with open(self.OriginFullPath, 'a', **kwargs) as f:
|
||||||
f.write(data)
|
f.write(data)
|
||||||
async def AppendTextAsync(self, data:str):
|
async def AppendTextAsync(self, data:str, **kwargs):
|
||||||
import aiofiles
|
import aiofiles
|
||||||
async with aiofiles.open(self.OriginFullPath, 'a') as f:
|
async with aiofiles.open(self.OriginFullPath, 'a', **kwargs) as f:
|
||||||
await f.write(data)
|
await f.write(data)
|
||||||
def AppendBytes(self, data:bytes):
|
def AppendBytes(self, data:bytes, **kwargs):
|
||||||
with open(self.OriginFullPath, 'ab') as f:
|
with open(self.OriginFullPath, 'ab', **kwargs) as f:
|
||||||
f.write(data)
|
f.write(data)
|
||||||
async def AppendBytesAsync(self, data:bytes):
|
async def AppendBytesAsync(self, data:bytes, **kwargs):
|
||||||
import aiofiles
|
import aiofiles
|
||||||
async with aiofiles.open(self.OriginFullPath, 'ab') as f:
|
async with aiofiles.open(self.OriginFullPath, 'ab', **kwargs) as f:
|
||||||
await f.write(data)
|
await f.write(data)
|
||||||
|
|
||||||
def SaveAsJson(self, json_data):
|
def SaveAsJson(self, json_data):
|
||||||
|
Reference in New Issue
Block a user