class Base: symbol: str def __init__(self, symbol, store): self.symbol = symbol self.store = store def path(self): raise NotImplementedError('path') def ext(self): raise NotImplementedError('extension') def type(self): return self.__class__.__name__ def __str__(self): return f'{self.symbol}.{self.ext()}'