Exemple #1
0
def post_update_post(id):
    postid = request.forms.get('postid')
    title = request.forms.get('title').decode('utf-8')
    slug = request.forms.get('slug').decode('utf-8')
    post = request.forms.get('post')
    tags = request.forms.get('tags').decode('utf-8')
    category = request.forms.get('category').decode('utf-8')
    post_type = request.forms.get('postype')
    if post_type == 'HTML':
        is_html = 1
        content = post.decode('utf-8')
        markdown = u'html'
    else:
        is_html = 0
        markdown = post.decode('utf-8')
        content = to_markdown(markdown)
    category = Category.get(name=category)
    Post.update(title=title, slug=slug, content=content, markdown=markdown,
                tags=tags, category=category,
                is_html=is_html).where(id=postid).execute()
    tag_list = set(tags.split(","))
    for tag in tag_list:
        try:
            Tag.get(name=tag.strip(), post_id=postid)
        except Post.DoesNotExist:
            Tag.create(name=tag.strip(), post_id=postid)
    redirect("/%s" % slug)
Exemple #2
0
def post_new_post():
    title = request.forms.get('title').decode('utf-8')
    slug = request.forms.get('slug').decode('utf-8')
    post = request.forms.get('post')
    tags = request.forms.get('tags').decode('utf-8')
    category = request.forms.get('category').decode('utf-8')
    post_type = request.forms.get('postype')
    set_time = request.forms.get('setime')
    if set_time != '1':
        t = [int(tt) for tt in set_time.split('-')]
        d = datetime.datetime(*t)
        published = d
    else:
        published = datetime.datetime.now()

    if post_type == 'HTML':
        is_html = 1
        content = post.decode('utf-8')
        markdown = u'html'
    else:
        is_html = 0
        markdown = post.decode('utf-8')
        content = to_markdown(markdown)
    category = Category.get(name=category)
    post = Post.create(title=title, slug=slug.strip(), content=content,
                       markdown=markdown, tags=tags, category=category,
                       is_html=is_html, published=published, comm_count=0)
    for tag in post.tags_list():
        Tag.create(name=tag.strip(), post_id=post.id)
    redirect("/%s" % slug)
Exemple #3
0
	def post(self):
		title = self.get_argument('title',None)
		slug = self.get_argument('slug','')
		category_id = self.get_argument('category',1)
		content = self.get_argument('content','')
		tag = self.get_argument('tag',None)

		category = Category.get(id=int(category_id))
		post = Post.create(title=title,category=category,slug=slug,content=content,tags=tag)
		
		if tag:
			for tag in post.taglist():
				Tag.create(name=tag,post=post.id)
		self.render('admin/post/add.html')
Exemple #4
0
def bookmark_add():
    error = {}
    bookmark = {}
    user = auth.get_logged_in_user()
    if request.method == 'POST':
        if not request.form['url']:
            error['url'] = u'书签的网址不能为空'
        if not request.form['url'].startswith('http://') and not request.form['url'].startswith('https://'):
            request.form['url'] = ''.join(['http://', request.form['url']])
        if not error:
            try:
                bookmark = Bookmark.select().where(Bookmark.user == user,
                                        Bookmark.url == request.form['url']
                ).get()
            except Bookmark.DoesNotExist:
                try:
                    db.database.set_autocommit(False)
                    
                    bookmark = Bookmark.create(
                        user=user,
                        url=request.form['url'],
                        title=request.form['title']
                    )
                    bookmark.fetch_image()
                    bookmark.save()

                    tagnames = re.split('\s+', request.form['tags'].strip())
                    # marksure request.form['tags'] not a empty string
                    if tagnames[0]:
                        for tagname in tagnames:
                            if not Tag.select().where(Tag.user == user,
                                                      Tag.name == tagname
                                                     ).exists():
                                tag = Tag.create(user=user, name=tagname)
                                tag.save()

                                relationship = Relationship.create(
                                    user=user,
                                    tag=tag,
                                    bookmark=bookmark)
                                relationship.save()
                except Exception as e:
                    db.database.rollback()
                    flash(u'对不起,服务器太累了,刚罢工了一会儿', 'error')
                else:
                    try:
                        db.database.commit()
                    except Exception as e:
                        db.database.rollback()
                        flash(u'对不起,服务器太累了,刚罢工了一会儿', 'error')
                finally:
                    db.database.set_autocommit(True)

                if not get_flashed_messages():
                    flash(u'你已经成功添加一个书签', 'success')
                    return redirect(url_for('bookmark'))
            else:
                flash(Markup(u'书签已经存在,也许你想要<a href="' + url_for('bookmark_edit', id=bookmark.id) + u'">编辑</a>此书签'), 'info')
    
    return render_template('bookmark_add.html', error=error, form=request.form, user=user, bookmark=bookmark)
Exemple #5
0
    def post(self):
        title = self.get_argument('title', None)
        slug = self.get_argument('slug', '')
        category_id = self.get_argument('category', 1)
        content = self.get_argument('content', '')
        tag = self.get_argument('tag', None)

        category = Category.get(id=int(category_id))
        post = Post.create(title=title,
                           category=category,
                           slug=slug,
                           content=content,
                           tags=tag)

        if tag:
            for tag in post.taglist():
                Tag.create(name=tag, post=post.id)
        self.render('admin/post/add.html')
Exemple #6
0
    def post(self, postid):
        title = self.get_argument('title', None)
        slug = self.get_argument('slug', '')
        category_id = self.get_argument('category', 1)
        content = self.get_argument('content', '')
        tags = self.get_argument('tag', '')
        category = Category.get(id=int(category_id))

        Post.update(title=title, slug=slug,
                    category=category, content=content, tags=tags).where(Post.id == postid).execute()

        tag_list = set(tags.split(","))
        if tag_list:
            for tag in tag_list:
                try:
                    Tag.get(name=tag, post=postid)
                except Tag.DoesNotExist:
                    Tag.create(name=tag, post=postid)
        self.redirect('/admin/posts')
        return
Exemple #7
0
def all_tags_handler():
    if request.method == 'GET':
        tags = Tag.get_all()
        return jsonify(tags=[
            tag.serialize for tag in tags
        ])
    if request.method == 'POST':
        name = request.args.get('name')
        description = request.args.get('description')
        tag = Tag.create(name=name,
                         description=description)
        return jsonify(tag=[tag.serialize]), 201
def process_tags(tags, entry):
    tags = tags.split()
    if tags:
        for tag in tags:
            try:
                tag = Tag.create(tag_name=tag)
            except IntegrityError:
                tag = Tag.select().where(Tag.tag_name == tag).get()
            try:
                EntryTags.create(entry=entry, tag=tag)
            except IntegrityError:
                pass
Exemple #9
0
    def post(self, postid):
        title = self.get_argument('title', None)
        slug = self.get_argument('slug', '')
        category_id = self.get_argument('category', 1)
        content = self.get_argument('content', '')
        tags = self.get_argument('tag', '')
        category = Category.get(id=int(category_id))

        Post.update(title=title,
                    slug=slug,
                    category=category,
                    content=content,
                    tags=tags).where(Post.id == postid).execute()

        tag_list = set(tags.split(","))
        if tag_list:
            for tag in tag_list:
                try:
                    Tag.get(name=tag, post=postid)
                except Tag.DoesNotExist:
                    Tag.create(name=tag, post=postid)
        self.redirect('/admin/posts')
        return
Exemple #10
0
def add_tag(bot, update):
    user = TGUser.get(handle=update.message.from_user.username)
    update.message.reply_text(
        "Updating tags of all messages, this may take a minute or two....")
    import ipdb
    ipdb.set_trace()
    tag = Tag.create(tag=update.message.text.split()[1])
    for message in Message.select().where(
            sqlfn.LOWER(Message.content).contains(tag.tag.lower())):
        MessageToTags.create(message=message, tag=tag)
    TGUserToTag.create(
        user=user,
        tag=tag,
    )
    update.message.reply_text("Done!")
Exemple #11
0
def add_new_tags(tags_string, post_id):
    """
    Add new tags or create connection to post with existed
    """
    tags = tags_string.split(';')
    for tag in tags:
        tg = tag.replace(' ', '')
        if not tg:
            continue
        try:
            old_tag = Tag.get(Tag.text == tag)
            try:
                tmp = Tag_to_Post.get(Tag_to_Post.post_id == post_id,
                                      Tag_to_Post.tag_id == old_tag.tag_id)
            except Tag_to_Post.DoesNotExist:
                Tag_to_Post.create(post_id=post_id, tag_id=old_tag.tag_id)
        except Tag.DoesNotExist:
            new_tag = Tag.create(text=tag)
            Tag_to_Post.create(post_id=post_id, tag_id=new_tag.tag_id)
    return
    def test_tag_creation(self):
        """Create Tag"""
        self.create_users()
        Tag.create(title='Space', )

        self.assertEqual(Tag.select().count(), 1)
 def test_create_tag(self):
     """Test creating tag"""
     with test_database(TEST_DB, (Tag, )):
         Tag.create(tag='test_tag')
         self.assertEqual(Tag.select().count(), 1)
Exemple #14
0
import sys

from models import create_tables, Tag, Point, PointTag, UserPoint

if len(sys.argv) >= 2:

    if sys.argv[1] == 'init':
        t = Tag.table_exists()
        create_tables()
        if not t:
            for tag in [
                    '地狱级npc', '觉醒素材', 'mp-rush', '1E金币龙王', '潜觉扩张', '稀有素材rush',
                    '三代雷达龙(光)', '三代雷达龙(暗)', '三代雷达龙(水)', '三代雷达龙(火)', '三代雷达龙(木)',
                    '297光玻璃', '彩喇叭', '圣诞龙(不区分颜色)'
            ]:
                Tag.create(tag=tag)

    if sys.argv[1] == 'clear':
        Point.delete().execute()
        PointTag.delete().execute()

    elif sys.argv[1] == 'clear_mark':
        tags = {x.tag for x in Tag.select().execute()}
        tags.remove('地狱级npc')
        tags = list(tags)
        tags_id = [x for x in Tag.select().where(Tag.tag.in_(tags))]
        q = PointTag.delete().where(PointTag.tag.in_(tags_id)).execute()
        for p in Point.select(Point):
            new_tr = [x.tag.tag for x in p.pointtag]
            if not new_tr:
                p.delete_instance()
Exemple #15
0
def bookmark_edit(id):
    user = auth.get_logged_in_user()
    bookmark = {}
    try:
        bookmark = Bookmark.get(Bookmark.id == id)
        bookmark.tags = ' '.join([Tag.get(Tag.id == tagID).name for tagID in [tag.tag for tag in bookmark.Tags]])
    except Bookmark.DoesNotExist:
        flash(u'你要编辑的书签不存在', 'error')
        return redirect(url_for('page_404'))
    
    error = {}
    if request.method == 'POST':
        try:
            bookmark = Bookmark.get(Bookmark.id == request.form['id'])
        except Bookmark.DoesNotExist:
            flash(u'你要编辑的书签不存在', 'error')
            return redirect(url_for('page_404'))
        if not request.form['url']:
            error['url'] = u'书签的网址不能为空'
        if not error:
            try:
                db.database.set_autocommit(False)
                
                # before update image, should remove old version
                if bookmark.url != request.form['url']:
                    bookmark.destory_image()
                    bookmark.url = request.form['url']
                    bookmark.fetch_image()
                
                bookmark.title = request.form['title']
                bookmark.save()
                
                tagnames = re.split('\s+', request.form['tags'].strip())
                # marksure request.form['tags'] not a empty string
                if tagnames[0]:
                    for tagname in tagnames:
                        if not Tag.select().where(Tag.user == user,
                                                      Tag.name == tagname
                                                     ).exists():
                                tag = Tag.create(user=user, name=tagname)
                                tag.save()

                                relationship = Relationship.create(
                                    user=user,
                                    tag=tag,
                                    bookmark=bookmark)
                                relationship.save()
            except Exception as e:
                db.database.rollback()
                flash(u'对不起,服务器太累了,刚罢工了一会儿', 'error')
            else:
                try:
                    db.database.commit()
                except Exception as e:
                    db.database.rollback()
                    flash(u'对不起,服务器太累了,刚罢工了一会儿', 'error')
            finally:
                db.database.set_autocommit(True)

            if not get_flashed_messages():
                flash(u'你刚刚完成一个书签的编辑', 'success')
                return redirect(url_for('bookmark'))

    return render_template('bookmark_edit.html', error=error, form=request.form, bookmark=bookmark, user=user)