本文整理汇总了Python中model.Tag类的典型用法代码示例。如果您正苦于以下问题:Python Tag类的具体用法?Python Tag怎么用?Python Tag使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Tag类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: api_article_add
def api_article_add(*, request, title, category, tag, content, summary):
r = web.Response()
blog = Blogs(title = title, user_id = getWebCookie(request, 'id'), summary = summary, content = content)
id = yield from blog.save()
category = urldecode(category)
category = category[0].split(',')
tags = tag.split('/')
if id > 0:
#文章分类插入
for i in category:
blog_category = BlogCategory(blog_id = id, category_id = i)
blog_category_id = yield from blog_category.save()
#标签分类插入
for t in tags:
t = t.strip()
tag_title = yield from Tag.findAll('title=?', [t])
#如果标签存在,则插入博客标签表,若不存在,则两张表都要插入
if len(tag_title) > 0:
tag_id = tag_title[0].get('id')
else:
tag = Tag(title = t)
tag_id = yield from tag.save()
blog_tag = BlogTag(blog_id = id, tag_id = tag_id)
blog_tag_id = yield from blog_tag.save()
if id > 0 and blog_category_id > 0 and blog_tag_id > 0:
result = APIResult(1, '', '发布成功')
else:
result = APIResult(0, '', '发布失败')
return jsonResult(r, result)
示例2: get
def get(self, id=""):
# try:
if id:
oldobj = Article.get_article_by_id_edit(id)
print "DelPost()", oldobj
if not oldobj:
return
if MYSQL_TO_KVDB_SUPPORT:
oldobj_category = oldobj["category"]
oldobj_archive = oldobj["archive"]
oldobj_tags = oldobj["tags"]
else:
oldobj_category = oldobj.category
oldobj_archive = oldobj.archive
oldobj_tags = oldobj.tags
Category.remove_postid_from_cat(oldobj_category, str(id))
Archive.remove_postid_from_archive(oldobj_archive, str(id))
Tag.remove_postid_from_tags(set(oldobj_tags.split(",")), str(id))
Article.del_post_by_id(id)
increment("Totalblog", NUM_SHARDS, -1)
cache_key_list = ["/", "post:%s" % id, "cat:%s" % quoted_string(oldobj_category)]
clear_cache_by_pathlist(cache_key_list)
clear_cache_by_pathlist(["post:%s" % id])
self.redirect("%s/admin/edit_post/" % (BASE_URL))
示例3: post
def post(self, secret=""):
tags = (self.get_argument("tags", ""),)
if tags and secret:
if secret == getAttr("MOVE_SECRET"):
Tag.set_tags(encode_special_txt(tags[0]))
return self.write("1")
return self.write("0")
示例4: get
def get(self, name = ''):
objs = Tag.get_tag_page_posts(name, 1)
catobj = Tag.get_tag_by_name(name)
if catobj:
pass
else:
self.redirect(BASE_URL)
return
allpost = catobj.id_num
allpage = allpost/EACH_PAGE_POST_NUM
if allpost%EACH_PAGE_POST_NUM:
allpage += 1
output = self.render('index.html', {
'title': "%s - %s"%( catobj.name, SITE_TITLE),
'keywords':catobj.name,
'description':SITE_DECR,
'objs': objs,
'cats': Category.get_all_cat_name(),
'tags': Tag.get_hot_tag_name(),
'page': 1,
'allpage': allpage,
'listtype': 'tag',
'name': name,
'namemd5': md5(name.encode('utf-8')).hexdigest(),
'comments': Comment.get_recent_comments(),
'links':Link.get_all_links(),
},layout='_layout.html')
self.write(output)
return output
示例5: save_data
def save_data(s3client, field, bucket, key):
for data in read_fields(s3client, field, bucket, key):
tag = Tag()
tag.name = data.strip()
try:
tag.save(force_insert=True)
except IntegrityError:
pass
示例6: get
def get(self,req_user=''):
user_lang = 'en'
#********************** User Auth **************************#
user = users.get_current_user()
nickname = ''
if user:
nickname=user.nickname()
if nickname:
user_info = User.all().filter('user',nickname)
if user_info.count(1)>0:
user_info = user_info.get()
user_lang = user_info.lang
auth_url = users.create_logout_url(self.request.uri)
auth_text= 'signout'
else:
auth_url = users.create_login_url(self.request.uri)
auth_text= 'signin'
entry_count =Entry.all().count(1000)
if req_user:
tag_user = req_user
tags = Tag.all().filter("user",req_user)
else:
tag_user = 'all'
tags = Tag.all()
tags_count = tags.count(1000)
tag_list=[]
for tag in tags:
tag_count=tag.count_link + tag.count_note + tag.count_pic
if tag.count_link >= tag.count_note:
if tag.count_link >= tag.count_pic:
max_type = 'link'
else:
max_type = 'pic'
else:
if tag.count_pic >= tag.count_note:
max_type = 'pic'
else:
max_type = 'note'
#logging.info(tag_count)
#logging.info(entry_count)
#logging.info(tags_count)
tag_list.append({
"info":tag,
"type":max_type,
"level":int(round(tag_count/(float(entry_count)/tags_count)))
})
template_values = {
'nickname' : nickname,
'req_user' : req_user,
'auth_url' : auth_url,
'auth_text': auth_text,
'tag_user' : tag_user,
'tags' : tag_list,
'uri' : self.request.uri
}
path = os.path.join(os.path.dirname(__file__),'templates/'+user_lang+'/tag.html')
self.response.out.write(template.render(path,template_values))
示例7: post
def post(self):
self.set_header('Content-Type','application/json')
rspd = {'status': 201, 'msg':'ok'}
try:
tf = {'true':1,'false':0}
timestamp = int(time())
post_dic = {
'category': self.get_argument("cat"),
'title': self.get_argument("tit"),
'content': self.get_argument("con"),
'tags': self.get_argument("tag",'').replace(u',',','),
'closecomment': self.get_argument("clo",'0'),
'password': self.get_argument("password",''),
'add_time': timestamp,
'edit_time': timestamp,
'archive': genArchive(),
}
if post_dic['tags']:
tagslist = set([x.strip() for x in post_dic['tags'].split(',')])
try:
tagslist.remove('')
except:
pass
if tagslist:
post_dic['tags'] = ','.join(tagslist)
post_dic['closecomment'] = tf[post_dic['closecomment'].lower()]
except:
rspd['status'] = 500
rspd['msg'] = '错误: 注意必填的三项'
self.write(json.dumps(rspd))
return
postid = Article.add_new_article(post_dic)
if postid:
keyname = 'pv_%s' % (str(postid))
set_count(keyname,0,0)
Category.add_postid_to_cat(post_dic['category'], str(postid))
Archive.add_postid_to_archive(genArchive(), str(postid))
increment('Totalblog')
if post_dic['tags']:
Tag.add_postid_to_tags(post_dic['tags'].split(','), str(postid))
rspd['status'] = 200
rspd['msg'] = '完成: 你已经成功添加了一篇文章 <a href="/t/%s" target="_blank">查看</a>' % str(postid)
clear_cache_by_pathlist(['/', 'cat:%s' % quoted_string(post_dic['category'])])
if not debug:
add_task('default', '/task/pingrpctask')
self.write(json.dumps(rspd))
return
else:
rspd['status'] = 500
rspd['msg'] = '错误: 未知错误,请尝试重新提交'
self.write(json.dumps(rspd))
return
示例8: post
def post(self):
self.set_header("Content-Type", "application/json")
rspd = {"status": 201, "msg": "ok"}
try:
tf = {"true": 1, "false": 0}
timestamp = int(time())
post_dic = {
"category": self.get_argument("cat"),
"title": self.get_argument("tit"),
"content": self.get_argument("con"),
"tags": self.get_argument("tag", "").replace(u",", ","),
"closecomment": self.get_argument("clo", "0"),
"password": self.get_argument("password", ""),
"add_time": timestamp,
"edit_time": timestamp,
}
if post_dic["tags"]:
tagslist = set([x.strip() for x in post_dic["tags"].split(",")])
try:
tagslist.remove("")
except:
pass
if tagslist:
post_dic["tags"] = ",".join(tagslist)
post_dic["closecomment"] = tf[post_dic["closecomment"].lower()]
except:
rspd["status"] = 500
rspd["msg"] = "错误: 注意必填的三项"
self.write(json.dumps(rspd))
return
postid = Article.add_new_article(post_dic)
if postid:
Category.add_postid_to_cat(post_dic["category"], str(postid))
if post_dic["tags"]:
Tag.add_postid_to_tags(post_dic["tags"].split(","), str(postid))
rspd["status"] = 200
rspd["msg"] = '完成: 你已经成功添加了一篇文章 <a href="/t/%s" target="_blank">查看</a>' % str(postid)
clear_cache_by_pathlist(["/", "cat:%s" % quoted_string(post_dic["category"])])
if not debug:
add_task("default", "/task/pingrpctask")
self.write(json.dumps(rspd))
return
else:
rspd["status"] = 500
rspd["msg"] = "错误: 未知错误,请尝试重新提交"
self.write(json.dumps(rspd))
return
示例9: get
def get(self):
# 获取要修改的tag
self.from_name = self.get_argument('from_name', '').strip()
if self.from_name:
self.to_name = self.get_argument('to_name', '').strip()
# 有目标tag,移动/重命名
# 没目标tag,删除
if self.to_name:
Tag.move_tag(self.from_name, self.to_name)
else:
Tag.delete_tag(self.from_name)
self.redirect('/dashboard')
示例10: get
def get(self,format):
tags = Tag.all().run()
db.delete(tags)
firstLevelTags = [
"ActionScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme",
"haxe",
"nodejs",
'framework',
'tool',
'wiki',
'tutorial',
'howto',
'library',
'service',
'language'
]
for tag in firstLevelTags:
t = Tag(name=tag.lower())
t.put()
entries = Entry.all()
for e in entries:
newtags = getTagKeys(e.tagsRaw)
e.tags = newtags
e.put()
simplewebapp.formatResponse(format, self, "OK")
示例11: post
def post(self):
"""Creates a new tag for the logged in user"""
user = utils.get_current_user()
title = self.request.get('title')
new_title = self.request.get('newTitle') or None
if not user:
self.error(403)
return
if not title:
self.error(400)
# Create new tag
if not new_title:
m = Tag.all().ancestor(user).filter('title_lower =', title.lower()).get()
if m:
# Not unique
self.error(409)
return
m = Tag(
parent=user,
title=title,
title_lower=title.lower(),
)
m.put()
# Rename Tag
else:
m = Tag.all().ancestor(user).filter('title_lower =', new_title.lower()).get()
if m:
# Not unique
self.error(409)
return
m = Tag.all().ancestor(user).filter('title_lower =', title.lower()).get()
if not m:
# Original tag not found
self.error(404)
return
m.title = new_title
m.title_lower = new_title.lower()
m.save()
self.response.headers['Content-Type'] = 'text/plain; charset=utf-8'
self.response.headers['Access-Control-Allow-Origin'] = '*'
self.response.out.write('ok')
示例12: get
def get(self, id = ''):
try:
if id:
oldobj = Article.get_article_by_id_edit(id)
Category.remove_postid_from_cat(oldobj.category, str(id))
Archive.remove_postid_from_archive(oldobj.archive, str(id))
Tag.remove_postid_from_tags( set(oldobj.tags.split(',')) , str(id))
Article.del_post_by_id(id)
increment('Totalblog',NUM_SHARDS,-1)
cache_key_list = ['/', 'post:%s'% id, 'cat:%s' % quoted_string(oldobj.category)]
clear_cache_by_pathlist(cache_key_list)
clear_cache_by_pathlist(['post:%s'%id])
self.redirect('%s/admin/edit_post/'% (BASE_URL))
except:
pass
示例13: update_basic_info
def update_basic_info(
update_categories=False,
update_tags=False,
update_links=False,
update_comments=False,
update_archives=False,
update_pages=False):
from model import Entry,Archive,Comment,Category,Tag,Link
basic_info = ObjCache.get(is_basicinfo=True)
if basic_info is not None:
info = ObjCache.get_cache_value(basic_info.cache_key)
if update_pages:
info['menu_pages'] = Entry.all().filter('entrytype =','page')\
.filter('published =',True)\
.filter('entry_parent =',0)\
.order('menu_order').fetch(limit=1000)
if update_archives:
info['archives'] = Archive.all().order('-year').order('-month').fetch(12)
if update_comments:
info['recent_comments'] = Comment.all().order('-date').fetch(5)
if update_links:
info['blogroll'] = Link.all().filter('linktype =','blogroll').fetch(limit=1000)
if update_tags:
info['alltags'] = Tag.all().order('-tagcount').fetch(limit=100)
if update_categories:
info['categories'] = Category.all().fetch(limit=1000)
logging.debug('basic_info updated')
basic_info.update(info)
示例14: get
def get(self, user, tag_title):
"""Gets RSS feed for a user, filtered by tag"""
user = utils.get_user_model_by_id_or_nick(user)
if not user:
self.error(403)
return
tag_title = tag_title.decode('utf-8')
tag = Tag.all().ancestor(user.key()).filter('title_lower =', tag_title.lower()).get()
if not tag:
self.error(404)
return
entries = Entry.all().filter('tags =', tag.key()).filter('published =', True).order('-time_published').fetch(20)
entries = [e.to_struct() for e in entries]
path = os.path.join(os.path.dirname(__file__), 'template.rss')
self.response.headers['Content-Type'] = 'application/xml; charset=utf-8'
self.response.out.write(template.render(path, {
'entries': entries,
'url': self.request.url,
'title': tag_title,
}))
示例15: get
def get(self, name = ''):
objs = Category.get_cat_page_posts(name, 1)
catobj = Category.get_cat_by_name(name)
if catobj:
pass
else:
self.redirect(BASE_URL)
return
allpost = catobj.id_num
allpage = allpost/EACH_PAGE_POST_NUM
if allpost%EACH_PAGE_POST_NUM:
allpage += 1
output = self.render('index.html', {
'title': "%s - %s"%( catobj.name, getAttr('SITE_TITLE')),
'keywords':catobj.name,
'description':getAttr('SITE_DECR'),
'objs': objs,
'cats': Category.get_all_cat_name(),
'tags': Tag.get_hot_tag_name(),
'archives': Archive.get_all_archive_name(),
'page': 1,
'allpage': allpage,
'listtype': 'cat',
'name': name,
'namemd5': md5(name.encode('utf-8')).hexdigest(),
'comments': Comment.get_recent_comments(),
'links':Link.get_all_links(),
'isauthor':self.isAuthor(),
'Totalblog':get_count('Totalblog',NUM_SHARDS,0),
},layout='_layout.html')
self.write(output)
return output