##// END OF EJS Templates
Insert new posts in the pub time position instead of the end (js). Used when the posts are synced to the middle of the thread
Insert new posts in the pub time position instead of the end (js). Used when the posts are synced to the middle of the thread

File last commit:

r1951:1024ce38 default
r2105:fd2a304e 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