def create(self, *args, **kwargs): u"""メモの新規保存処理をします。""" form = request.form.copy() result, data = ArticleModel.validate(form) if not result: alert = {'errors': data} tmp = self.renderTemplate('index/form.html', action="/", method="POST") defaults = { 'title': form['title'], 'text': form['text'], 'tags': form['tags'] } form = htmlfill.render(tmp, defaults) return self.renderTemplate('index/new.html', form=form, alert=alert) else: model = ArticleModel() try: model.publish(title=data['title'], text=data['text']) SystemInfoModel.incrementArticleCount() createTags(data['tags'], model) flash(u'保存したかもしれない', 'success') except: flash((u'失敗したぽよ'), 'errors') return redirect('/')
def createTags(tags, article): tagList = tags.split(',') results = [] for tag in tagList: m = TagModel() m.publish(tag, article) SystemInfoModel.increamentTagCount(tag) results.append(str(m.tagname)) return results
def destroy(self, *args, **kwargs): u"""メモを破棄します。""" id = kwargs['id'] try: ArticleModel.deleteModel(id) SystemInfoModel.decrementArticleCount() flash(u'次はお前がこうなる番だ…', 'success') except: flash((u'失敗したよ'), 'errors') return '/'
def destroy(self, *args, **kwargs): u"""メモを破棄します。""" id = kwargs["id"] try: ArticleModel.deleteModel(id) SystemInfoModel.decrementArticleCount() flash(u"次はお前がこうなる番だ…", "success") except: flash((u"失敗したよ"), "errors") return "/"
def index(self, *args, **kwargs): tags = SystemInfoModel.getAllTagList() tagList = [] for tag in tags: if tag['count'] > 12: tag['size'] = 12 else: tag['size'] = tag['count'] tagList.append(tag) return self.renderTemplate('tags/index.html', tagList=tagList)
def tagIndex(self, *args, **kwargs): name = kwargs['tagname'] page = kwargs['page'] if 'page' in kwargs else 1 count = SystemInfoModel.getTagCnt(name) start = (page - 1) * PER_PAGE models = TagModel.all().filter('tagname =', name).order('-created_at').fetch(PER_PAGE, start) pagination = Pagination(page, PER_PAGE, count) articles = [ArticleModel.getArticle(m.article) for m in models] pagePath = '/tags/' + name + '/page/' return self.renderTemplate('index/index.html', articles=articles, pagination=pagination, tagname=name, pagePath=pagePath)
def index(self, *args, **kwargs): u"""メモを一覧で表示します。""" page = kwargs["page"] if "page" in kwargs else 1 count = SystemInfoModel.getArticleCount() articles = ArticleModel.getArticleForPage(page, PER_PAGE) pagination = Pagination(page, PER_PAGE, count) alert = dict(getFlashedMessage(withCategory=True)) return self.renderTemplate( "index/index.html", articles=articles, pagination=pagination, pagePath="/page/", alert=alert )
def updateTags(tags, article): tagList = tags.split(',') olds = article.tags tagNames = [tag.tagname for tag in olds] results = [] out = [] for tag in olds: if tag.tagname not in tagList: out.append(tag) for tag in tagList: if tag not in tagNames: m = TagModel() m.publish(tag, article) SystemInfoModel.increamentTagCount(tag) results.append(tag) # db.delete(out) for tag in out: SystemInfoModel.decrementTagCount(tag.tagname) return results
def create(self, *args, **kwargs): u"""メモの新規保存処理をします。""" form = request.form.copy() result, data = ArticleModel.validate(form) if not result: alert = {"errors": data} tmp = self.renderTemplate("index/form.html", action="/", method="POST") defaults = {"title": form["title"], "text": form["text"], "tags": form["tags"]} form = htmlfill.render(tmp, defaults) return self.renderTemplate("index/new.html", form=form, alert=alert) else: model = ArticleModel() try: model.publish(title=data["title"], text=data["text"]) SystemInfoModel.incrementArticleCount() createTags(data["tags"], model) flash(u"保存したかもしれない", "success") except: flash((u"失敗したぽよ"), "errors") return redirect("/")
def index(self, *args, **kwargs): u"""メモを一覧で表示します。""" page = kwargs['page'] if 'page' in kwargs else 1 count = SystemInfoModel.getArticleCount() articles = ArticleModel.getArticleForPage(page, PER_PAGE) pagination = Pagination(page, PER_PAGE, count) alert = dict(getFlashedMessage(withCategory=True)) return self.renderTemplate('index/index.html', articles=articles, pagination=pagination, pagePath='/page/', alert=alert)
def tagIndex(self, *args, **kwargs): name = kwargs['tagname'] page = kwargs['page'] if 'page' in kwargs else 1 count = SystemInfoModel.getTagCnt(name) start = (page - 1) * PER_PAGE models = TagModel.all().filter('tagname =', name).order('-created_at').fetch( PER_PAGE, start) pagination = Pagination(page, PER_PAGE, count) articles = [ArticleModel.getArticle(m.article) for m in models] pagePath = '/tags/' + name + '/page/' return self.renderTemplate('index/index.html', articles=articles, pagination=pagination, tagname=name, pagePath=pagePath)
def deleteModel(self): SystemInfoModel.decrementTagCount(self.tagname) self.delete()
def testReq(): tagList = SystemInfoModel.getAllTagList()[:5] shared.tagList = tagList