예제 #1
0
 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('/')
예제 #2
0
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
예제 #3
0
 def destroy(self, *args, **kwargs):
     u"""メモを破棄します。"""
     id = kwargs['id']
     try:
         ArticleModel.deleteModel(id)
         SystemInfoModel.decrementArticleCount()
         flash(u'次はお前がこうなる番だ…', 'success')
     except:
         flash((u'失敗したよ'), 'errors')
     return '/'
예제 #4
0
 def destroy(self, *args, **kwargs):
     u"""メモを破棄します。"""
     id = kwargs["id"]
     try:
         ArticleModel.deleteModel(id)
         SystemInfoModel.decrementArticleCount()
         flash(u"次はお前がこうなる番だ…", "success")
     except:
         flash((u"失敗したよ"), "errors")
     return "/"
예제 #5
0
 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)
예제 #6
0
파일: tags.py 프로젝트: PoohSunny/hagedown
 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)
예제 #7
0
파일: tags.py 프로젝트: PoohSunny/hagedown
 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)
예제 #8
0
 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
     )
예제 #9
0
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
예제 #10
0
 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("/")
예제 #11
0
 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)
예제 #12
0
 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)
예제 #13
0
 def deleteModel(self):
     SystemInfoModel.decrementTagCount(self.tagname)
     self.delete()
예제 #14
0
def testReq():
    tagList = SystemInfoModel.getAllTagList()[:5]
    shared.tagList = tagList