def __init__(self): self.env = { 'add': lambda callback: self.add(callback), 'get': lambda callback: self.get(callback), 'remove': lambda callback: self.remove(callback), 'edit': lambda callback: self.edit(callback), 'hashpass': lambda rawpass: self.hashpass(rawpass) } self.add_callbacks = { 'category': lambda: self.new_category(), 'user': lambda: self.new_user(), 'article': lambda: self.new_article() } self.get_callbacks = { 'category': lambda args: Category.get_category(args[0]), 'categories': lambda args: Category.get_many_categories(), 'user': lambda args: User.get_user_by_name(args[0]), 'article': lambda args: Article.get_article(args[0]), 'articles': lambda args: Article.get_many_articles_by_category(args[0]) } self.remove_callbacks = { 'user': lambda args: User.delete_user(args[0]) } self.edit_callbacks = { 'article': lambda args: Article.edit_article(args[0], args[1], args[2]) }
def new_article(self): return Article(title=self.data_args[0], rawcontent=self.data_args[1], content=markdown2.markdown2(self.data_args[1]), category=Category.get_category(self.data_args[2]), author=User.get_user_by_name(self.data_args[3]))