X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/91fe9916122adaee2cf1695040f906d709e1aa1c..aa060d9ba5891fd87fc62664fb30b75bf0463e3e:/images.py diff --git a/images.py b/images.py index 178f708..d9926a3 100644 --- a/images.py +++ b/images.py @@ -4,17 +4,25 @@ # under the terms of the GNU General Public License as published by the # Free Software Foundation, version 3. +from abc import ABC, abstractmethod import os import os.path from fetch import Fetcher +class ImageStore(ABC): + + @abstractmethod + def get_image(self, url: str) -> str: + raise NotImplementedError() + + class ImageStoreError(Exception): pass -class ImageStore: +class DiskImageStore(ImageStore): def __init__(self, root_path: str, fetcher: Fetcher) -> None: self._root_path = root_path @@ -46,3 +54,9 @@ class ImageStore: self._filenames.add(name) self._images[url] = path return self._images[url] + + +class FakeImageStore(ImageStore): + + def get_image(self, url: str) -> str: + return 'stored:' + url