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)
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)
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')
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)
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')
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
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
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!")
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)
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()
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)