##// END OF EJS Templates
Show only threads created in the favorite tag, not all its posts
Show only threads created in the favorite tag, not all its posts

File last commit:

r1951:1024ce38 default
r2055:ef4735f5 default
Show More
sticker_factory.py
33 lines | 946 B | text/x-python | PythonLexer
from boards.abstracts.settingsmanager import SessionSettingsManager
from boards.models import Attachment
class StickerFactory:
def get_image(self, alias):
pass
class SessionStickerFactory(StickerFactory):
def __init__(self, session):
self.session = session
def get_image(self, alias):
settings_manager = SessionSettingsManager(self.session)
return settings_manager.get_attachment_by_alias(alias)
class ModelStickerFactory(StickerFactory):
def get_image(self, alias):
if alias.count('/') == 1:
return Attachment.objects.get_by_alias(alias)
def get_attachment_by_alias(alias, session):
"""Gets attachment from a source (local or server/global) using an alias."""
factories = [SessionStickerFactory(session), ModelStickerFactory()]
for factory in factories:
image = factory.get_image(alias)
if image is not None:
return image