Files
meme-otron/meme_otron/types.py
T
2020-04-11 14:53:29 +02:00

73 lines
1.5 KiB
Python

from enum import IntEnum
import copy
class Pos(IntEnum):
"""
TODO
"""
NW = 0
N = 1
NE = 2
W = 3
CENTER = 4
E = 5
SW = 6
S = 7
SE = 8
class Meme:
"""
TODO
"""
def __init__(self, meme_id, aliases, abstract, template, font, font_size, texts):
self.id = meme_id
self.aliases = aliases
self.abstract = abstract
self.template = template
self.font = font
self.font_size = font_size
self.texts = texts
def clone_texts(self):
return copy.deepcopy(self.texts)
def clone(self):
return Meme(self.id,
self.aliases,
self.abstract,
self.template,
self.font,
self.font_size,
self.clone_texts())
class Text:
"""
TODO
"""
def __init__(self, text=None):
self.text = text
self.x_range = (0, 1)
self.y_range = (0, 1)
self.font = None
self.font_size = None
self.fill = (0, 0, 0)
self.stroke_width = 0
self.stroke_fill = (0, 0, 0)
self.align = "center"
self.position = Pos.CENTER
def update(self, base):
for prop in ["font", "font_size", "fill", "stroke_width",
"stroke_fill", "align", "position"]:
if getattr(self, prop) is None:
setattr(self,prop, getattr(base, prop))