本文整理汇总了Python中weasyl.define.get_rating函数的典型用法代码示例。如果您正苦于以下问题:Python get_rating函数的具体用法?Python get_rating怎么用?Python get_rating使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_rating函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GET
def GET(self):
extras = {
"title": "Streaming",
}
rating = define.get_rating(self.user_id)
return define.webpage(self.user_id, 'etc/streaming.html',
[profile.select_streaming(self.user_id, rating, 300, order_by="start_time desc")], **extras)
示例2: GET
def GET(self, name=""):
form = web.input(userid="", name="", backid=None, nextid=None)
form.name = name if name else form.name
form.userid = define.get_int(form.userid)
config = define.get_config(self.user_id)
rating = define.get_rating(self.user_id)
otherid = profile.resolve(self.user_id, form.userid, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
elif not self.user_id and "h" in define.get_config(otherid):
return define.errorpage(self.user_id, errorcode.no_guest_access)
userprofile = profile.select_profile(otherid, images=True, viewer=self.user_id)
has_fullname = userprofile['full_name'] is not None and userprofile['full_name'].strip() != ''
page_title = u"%s's journals" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(self.user_id, title=page_title)
page.append(define.render(template.user_journals, [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
# Relationship
profile.select_relation(self.user_id, otherid),
# Journals list
# TODO(weykent): use select_user_list
journal.select_list(self.user_id, rating, 250, otherid=otherid, config=config),
# Latest journal
journal.select_latest(self.user_id, rating, otherid=otherid),
]))
return define.common_page_end(self.user_id, page)
示例3: select_view_api
def select_view_api(userid, journalid, anyway=False, increment_views=False):
rating = d.get_rating(userid)
journal = _select_journal_and_check(
userid, journalid,
rating=rating, ignore=anyway, anyway=anyway, increment_views=increment_views)
return {
'journalid': journalid,
'title': journal['title'],
'owner': journal['username'],
'owner_login': d.get_sysname(journal['username']),
'owner_media': api.tidy_all_media(
media.get_user_media(journal['userid'])),
'content': text.markdown(journal['content']),
'tags': searchtag.select(journalid=journalid),
'link': d.absolutify_url('/journal/%d/%s' % (journalid, text.slug_for(journal['title']))),
'type': 'journal',
'rating': ratings.CODE_TO_NAME[journal['rating']],
'views': journal['page_views'],
'favorites': favorite.count(journalid, 'journal'),
'comments': comment.count(journalid, 'journal'),
'favorited': favorite.check(userid, journalid=journalid),
'friends_only': 'f' in journal['settings'],
'posted_at': d.iso8601(journal['unixtime']),
}
示例4: api_user_gallery_
def api_user_gallery_(request):
userid = profile.resolve_by_login(request.matchdict['login'])
if not userid:
raise WeasylError('userRecordMissing')
form = request.web_input(since=None, count=0, folderid=0, backid=0, nextid=0)
since = None
try:
if form.since:
since = d.parse_iso8601(form.since)
count = int(form.count)
folderid = int(form.folderid)
backid = int(form.backid)
nextid = int(form.nextid)
except ValueError:
raise HTTPUnprocessableEntity(json=_ERROR_UNEXPECTED)
else:
count = min(count or 100, 100)
submissions = submission.select_list(
request.userid, d.get_rating(request.userid), count + 1,
otherid=userid, folderid=folderid, backid=backid, nextid=nextid)
backid, nextid = d.paginate(submissions, backid, nextid, count, 'submitid')
ret = []
for sub in submissions:
if since is not None and since >= sub['unixtime']:
break
tidy_submission(sub)
ret.append(sub)
return {
'backid': backid, 'nextid': nextid,
'submissions': ret,
}
示例5: GET
def GET(self, charid=""):
form = web.input(charid="", ignore="", anyway="")
rating = define.get_rating(self.user_id)
charid = define.get_int(charid) if charid else define.get_int(form.charid)
try:
item = character.select_view(
self.user_id, charid, rating,
ignore=define.text_bool(form.ignore, True), anyway=form.anyway
)
except WeasylError as we:
if we.value in ("UserIgnored", "TagBlocked"):
we.errorpage_kwargs['links'] = [
("View Character", "?ignore=false"),
("Return to the Home Page", "/index"),
]
raise
canonical_url = "/character/%d/%s" % (charid, slug_for(item["title"]))
page = define.common_page_start(self.user_id, canonical_url=canonical_url, title=item["title"])
page.append(define.render('detail/character.html', [
# Profile
profile.select_myself(self.user_id),
# Character detail
item,
# Violations
[i for i in macro.MACRO_REPORT_VIOLATION if 2000 <= i[0] < 3000],
]))
return define.common_page_end(self.user_id, page)
示例6: journal_
def journal_(request):
form = request.web_input(journalid="", ignore="", anyway="")
rating = define.get_rating(request.userid)
journalid = define.get_int(request.matchdict.get('journalid', form.journalid))
try:
item = journal.select_view(
request.userid, rating, journalid,
ignore=define.text_bool(form.ignore, True), anyway=form.anyway
)
except WeasylError as we:
if we.value in ("UserIgnored", "TagBlocked"):
we.errorpage_kwargs['links'] = [
("View Journal", "?ignore=false"),
("Return to the Home Page", "/index"),
]
raise
canonical_url = "/journal/%d/%s" % (journalid, slug_for(item["title"]))
page = define.common_page_start(request.userid, canonical_url=canonical_url, title=item["title"])
page.append(define.render('detail/journal.html', [
# Myself
profile.select_myself(request.userid),
# Journal detail
item,
# Violations
[i for i in macro.MACRO_REPORT_VIOLATION if 3000 <= i[0] < 4000],
]))
return Response(define.common_page_end(request.userid, page))
示例7: GET
def GET(self, journalid=""):
form = web.input(journalid="", ignore="", anyway="")
rating = define.get_rating(self.user_id)
journalid = define.get_int(journalid) if journalid else define.get_int(form.journalid)
try:
item = journal.select_view(
self.user_id, rating, journalid,
ignore=define.text_bool(form.ignore, True), anyway=form.anyway
)
except WeasylError as we:
if we.value in ("UserIgnored", "TagBlocked"):
we.errorpage_kwargs['links'] = [
("View Journal", "?ignore=false"),
("Return to the Home Page", "/index"),
]
raise
canonical_url = "/journal/%d/%s" % (journalid, slug_for(item["title"]))
page = define.common_page_start(self.user_id, options=["pager"], canonical_url=canonical_url, title=item["title"])
page.append(define.render(template.detail_journal, [
# Myself
profile.select_myself(self.user_id),
# Journal detail
item,
# Violations
[i for i in macro.MACRO_REPORT_VIOLATION if 3000 <= i[0] < 4000],
]))
return define.common_page_end(self.user_id, page)
示例8: streaming_
def streaming_(request):
extras = {
"title": "Streaming",
}
rating = define.get_rating(request.userid)
return Response(define.webpage(request.userid, 'etc/streaming.html',
[profile.select_streaming(request.userid, rating, 300, order_by="start_time desc")],
**extras))
示例9: submission_
def submission_(request):
username = request.matchdict.get('name')
submitid = request.matchdict.get('submitid')
form = request.web_input(submitid="", ignore="", anyway="")
rating = define.get_rating(request.userid)
submitid = define.get_int(submitid) if submitid else define.get_int(form.submitid)
extras = {
"pdf": True,
}
if define.user_is_twitterbot():
extras['twitter_card'] = submission.twitter_card(submitid)
try:
item = submission.select_view(
request.userid, submitid, rating,
ignore=define.text_bool(form.ignore, True), anyway=form.anyway
)
except WeasylError as we:
we.errorpage_kwargs = extras
if 'twitter_card' in extras:
extras['options'] = ['nocache']
if we.value in ("UserIgnored", "TagBlocked"):
extras['links'] = [
("View Submission", "?ignore=false"),
("Return to the Home Page", "/index"),
]
raise
login = define.get_sysname(item['username'])
canonical_path = request.route_path('submission_detail_profile', name=login, submitid=submitid, slug=slug_for(item['title']))
if request.GET.get('anyway'):
canonical_path += '?anyway=true'
if login != username:
raise httpexceptions.HTTPMovedPermanently(location=canonical_path)
extras["canonical_url"] = canonical_path
extras["title"] = item["title"]
page = define.common_page_start(request.userid, **extras)
page.append(define.render('detail/submission.html', [
# Myself
profile.select_myself(request.userid),
# Submission detail
item,
# Subtypes
macro.MACRO_SUBCAT_LIST,
# Violations
[i for i in macro.MACRO_REPORT_VIOLATION if 2000 <= i[0] < 3000],
]))
return Response(define.common_page_end(request.userid, page))
示例10: select_view_api
def select_view_api(userid, submitid, anyway=False, increment_views=False):
rating = d.get_rating(userid)
db = d.connect()
sub = db.query(orm.Submission).get(submitid)
if sub is None or 'hidden' in sub.settings:
raise WeasylError("submissionRecordMissing")
sub_rating = sub.rating.code
if 'friends-only' in sub.settings and not frienduser.check(userid, sub.userid):
raise WeasylError("submissionRecordMissing")
elif sub_rating > rating and userid != sub.userid:
raise WeasylError("RatingExceeded")
elif not anyway and ignoreuser.check(userid, sub.userid):
raise WeasylError("UserIgnored")
elif not anyway and blocktag.check(userid, submitid=submitid):
raise WeasylError("TagBlocked")
description = sub.content
embedlink = None
if 'embedded-content' in sub.settings:
embedlink, _, description = description.partition('\n')
elif 'gdocs-embed' in sub.settings:
embedlink = sub.google_doc_embed.embed_url
views = sub.page_views
if increment_views and d.common_view_content(userid, submitid, 'submit'):
views += 1
return {
'submitid': submitid,
'title': sub.title,
'owner': sub.owner.profile.username,
'owner_login': sub.owner.login_name,
'owner_media': api.tidy_all_media(media.get_user_media(sub.userid)),
'media': api.tidy_all_media(media.get_submission_media(submitid)),
'description': text.markdown(description),
'embedlink': embedlink,
'folderid': sub.folderid,
'folder_name': sub.folder.title if sub.folderid else None,
'posted_at': d.iso8601(sub.unixtime),
'tags': searchtag.select(submitid=submitid),
'link': d.absolutify_url("/submission/%d/%s" % (submitid, text.slug_for(sub.title))),
'type': 'submission',
'subtype': m.CATEGORY_PARSABLE_MAP[sub.subtype // 1000 * 1000],
'rating': sub.rating.name,
'views': views,
'favorites': favorite.count(submitid),
'comments': comment.count(submitid),
'favorited': favorite.check(userid, submitid=submitid),
'friends_only': 'friends-only' in sub.settings,
}
示例11: template_fields
def template_fields(userid):
config = d.get_config(userid)
rating = d.get_rating(userid)
submissions = list(filter_submissions(userid, recent_submissions()))
ret = partition_submissions(submissions)
return ret + [
# Recent site news update
siteupdate.select(),
# Recent critique submissions
submission.select_list(userid, rating, 4, options=["critique"], config=config),
# Currently streaming users
profile.select_streaming(userid, rating, 4),
# Recently popular submissions
list(itertools.islice(filter_submissions(userid, submission.select_recently_popular(), incidence_limit=1), 11)),
]
示例12: GET
def GET(self):
form = web.input(feature="", backid="", nextid="")
backid = int(form.backid) if form.backid else None
nextid = int(form.nextid) if form.nextid else None
config = define.get_config(self.user_id)
rating = define.get_rating(self.user_id)
if form.feature == "pending":
return define.webpage(self.user_id, "manage/collections_pending.html", [
# Pending Collections
collection.select_list(self.user_id, rating, 30, otherid=self.user_id, backid=backid, nextid=nextid,
pending=True, config=config),
self.user_id
])
return define.webpage(self.user_id, "manage/collections_accepted.html", [
# Accepted Collections
collection.select_list(self.user_id, rating, 30, otherid=self.user_id, backid=backid, nextid=nextid,
config=config),
])
示例13: manage_collections_get_
def manage_collections_get_(request):
form = request.web_input(feature="", backid="", nextid="")
backid = int(form.backid) if form.backid else None
nextid = int(form.nextid) if form.nextid else None
config = define.get_config(request.userid)
rating = define.get_rating(request.userid)
if form.feature == "pending":
return Response(define.webpage(request.userid, "manage/collections_pending.html", [
# Pending Collections
collection.select_list(request.userid, rating, 30, otherid=request.userid, backid=backid, nextid=nextid,
pending=True, config=config),
request.userid
]))
return Response(define.webpage(request.userid, "manage/collections_accepted.html", [
# Accepted Collections
collection.select_list(request.userid, rating, 30, otherid=request.userid, backid=backid, nextid=nextid,
config=config),
]))
示例14: select_journals
def select_journals(userid):
journals = d.engine.execute("""
SELECT we.welcomeid, we.unixtime, we.otherid, we.targetid, pr.username, jo.title
FROM welcome we
INNER JOIN profile pr ON we.otherid = pr.userid
INNER JOIN journal jo ON we.targetid = jo.journalid
WHERE
(we.userid, we.type) = (%(user)s, 1010) AND
rating <= %(rating)s
ORDER BY we.unixtime DESC
""", user=userid, rating=d.get_rating(userid))
return [{
"type": 1010,
"id": j.welcomeid,
"unixtime": j.unixtime,
"userid": j.otherid,
"username": j.username,
"journalid": j.targetid,
"title": j.title,
} for j in journals]
示例15: filter_submissions
def filter_submissions(userid, submissions, incidence_limit=3):
"""
Filters a list of submissions according to the user's preferences and
optionally limits the number of items returned from one submitter.
:param userid: The userid to use for blocked tags and rating. Usually the
viewing user.
:type userid: int.
:param submissions: A list of submissions with appropriate fields (rating,
userid, etc.)
:type submissions: A list of submission dictionaries.
:param incidence_limit: The maximum number of submissions to permit from
one creator. Set to 0 or None for no limit.
:type incidence_limit: int.
:return: An iterator over the submissions after filtering by the user's
settings and incidence limit.
"""
blocked_tags = ignored_users = set()
rating = ratings.GENERAL.code
if userid:
rating = d.get_rating(userid)
blocked_tags = blocktag.select_ids(userid)
ignored_users = set(ignoreuser.cached_list_ignoring(userid))
submitter_incidence = collections.defaultdict(int)
for s in submissions:
if incidence_limit and submitter_incidence[s['userid']] >= incidence_limit:
continue
if s['rating'] > rating:
continue
if s['userid'] in ignored_users:
continue
tags = set(s['tags'])
if blocktag.check_list(s['rating'], tags, blocked_tags):
continue
submitter_incidence[s['userid']] += 1
yield s