add generic text class

This commit is contained in:
Maximilian Keßler 2022-02-05 22:37:09 +01:00
parent 9d3496b2ba
commit e1dc1e367a

View file

@ -0,0 +1,32 @@
from pathlib import Path
from typing import Union, List, Optional
class GenericText:
def __init__(self, content: Union[List[str], Path]):
if isinstance(content, List):
self._content: Optional[List[str]] = content
self._path = None
else:
self._content: Optional[List[str]] = None
self._path = content
@property
def content(self) -> List[str]:
if self._content is None:
try:
with open(self._path, 'r') as file:
self._content = file.readlines()
except FileNotFoundError:
raise NotImplementedError
except:
raise NotImplementedError
return self._content
def format(self, **kwargs) -> str:
for line in self._content:
try:
line = line.format(**kwargs)
except ValueError:
raise NotImplementedError
return '\n'.join(self._content)