Add effects list to cards and a card creator with preview

This commit is contained in:
2017-09-24 23:09:58 +02:00
parent 7d7642ead6
commit 8790dd83b2
6 changed files with 119 additions and 23 deletions
+14 -10
View File
@@ -9,22 +9,26 @@ class Card(Model):
title = "[[title]]"
figure = "code"#https://material.io/icons/
description = "[[description]]"
steps = ["Do a", "Then do b"]
cost = "[[cost]]"
power = "[[power]]"
cp = "[[cp]]"
steps = []
effects = []
cost = "free action"
power = None
cp = None
flags = []
def has_flag(self, flag): return flag in self.flags
def from_file(filename, in_carddir=True):#yaml syntax
os.path.join(config.carddir, filename) if in_carddir else filename
ret = Card()
ret.filename = ".".join(os.path.basename(filename).split(".")[:-1])
name = ".".join(os.path.basename(filename).split(".")[:-1])
with open(os.path.join(config.carddir, filename) if in_carddir else filename, "r") as f:
for key, val in load(f.read()).items():
setattr(ret, key, val)
return ret
return from_yaml(f.read(), name)
def from_yaml(data, filename="from_yaml"):
card = Card()
card.filename = filename
for key, val in load(data).items():
setattr(card, key, val)
return card
def from_dir(path):
return [from_file(i, in_carddir=False) for i in glob.glob(os.path.join(path, "*.yaml"))]