lemoncurry/entries/kinds.py

49 lines
861 B
Python

class Entry:
fields = ()
def has(self, field):
return field in self.fields
def __init__(self, id, plural, icon, fields=()):
self.id = id
self.plural = plural
self.icon = icon
self.fields = fields
@property
def index(self):
return self.plural + '_index'
@property
def entry(self):
return self.plural + '_entry'
@property
def entry_slug(self):
return self.entry + '_slug'
Note = Entry(
id='note',
icon='fa fa-paper-plane',
plural='notes',
)
Article = Entry(
id='article',
icon='fa fa-file-text',
plural='articles',
fields=('slug', 'name'),
)
Photo = Entry(
id='photo',
icon='fa fa-camera',
plural='photos',
)
all = (Note, Article, Photo)
from_id = {k.id: k for k in all}
from_plural = {k.plural: k for k in all}