18 lines
488 B
Python
18 lines
488 B
Python
from pathlib import Path
|
|
|
|
from gallery.sketch.source import ApiSource
|
|
|
|
|
|
class MockSource(ApiSource):
|
|
|
|
def __init__(self, path: Path, mapping: dict[str, str]):
|
|
super().__init__("")
|
|
self._path = path
|
|
self._mapping = mapping
|
|
|
|
async def request(self, endpoint: str) -> str:
|
|
for pattern, filename in self._mapping.items():
|
|
if pattern in endpoint:
|
|
return (self._path / filename).read_text()
|
|
raise ValueError(endpoint)
|