本文整理汇总了Python中weasyl.profile.resolve函数的典型用法代码示例。如果您正苦于以下问题:Python resolve函数的具体用法?Python resolve怎么用?Python resolve使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了resolve函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: GET
def GET(self, name=""):
now = time.time()
form = web.input(userid="", name="", backid=None, nextid=None)
form.name = name if name else form.name
form.userid = define.get_int(form.userid)
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 shouts" % (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_shouts, [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
# Relationship
profile.select_relation(self.user_id, otherid),
# Myself
profile.select_myself(self.user_id),
# Comments
shout.select(self.user_id, ownerid=otherid),
# Feature
"shouts",
]))
return define.common_page_end(self.user_id, page, now=now)
开发者ID:0x15,项目名称:weasyl,代码行数:35,代码来源:profile.py
示例2: followed_
def followed_(request):
cachename = "user/followed.html"
form = request.web_input(userid="", name="", backid=None, nextid=None)
form.name = request.matchdict.get('name', form.name)
form.userid = define.get_int(form.userid)
otherid = profile.resolve(request.userid, form.userid, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
elif not request.userid and "h" in define.get_config(otherid):
return Response(define.errorpage(request.userid, errorcode.no_guest_access))
userprofile = profile.select_profile(otherid, images=True, viewer=request.userid)
return Response(define.webpage(request.userid, cachename, [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
# Relationship
profile.select_relation(request.userid, otherid),
# Followed
followuser.select_followed(request.userid, otherid, limit=44,
backid=define.get_int(form.backid), nextid=define.get_int(form.nextid)),
]))
开发者ID:Syfaro,项目名称:weasyl,代码行数:27,代码来源:profile.py
示例3: shouts_
def shouts_(request):
form = request.web_input(userid="", name="", backid=None, nextid=None)
form.name = request.matchdict.get('name', form.name)
form.userid = define.get_int(form.userid)
otherid = profile.resolve(request.userid, form.userid, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
elif not request.userid and "h" in define.get_config(otherid):
return Response(define.errorpage(request.userid, errorcode.no_guest_access))
userprofile = profile.select_profile(otherid, images=True, viewer=request.userid)
has_fullname = userprofile['full_name'] is not None and userprofile['full_name'].strip() != ''
page_title = u"%s's shouts" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(request.userid, title=page_title)
page.append(define.render('user/shouts.html', [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
# Relationship
profile.select_relation(request.userid, otherid),
# Myself
profile.select_myself(request.userid),
# Comments
shout.select(request.userid, ownerid=otherid),
# Feature
"shouts",
]))
return Response(define.common_page_end(request.userid, page))
开发者ID:Syfaro,项目名称:weasyl,代码行数:33,代码来源:profile.py
示例4: staffnotes_
def staffnotes_(request):
form = request.web_input(userid="")
otherid = profile.resolve(request.userid, define.get_int(form.userid), request.matchdict.get('name', None))
if not otherid:
raise WeasylError("userRecordMissing")
userprofile = profile.select_profile(otherid, images=True, viewer=request.userid)
has_fullname = userprofile['full_name'] is not None and userprofile['full_name'].strip() != ''
page_title = u"%s's staff notes" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(request.userid, title=page_title)
userinfo = profile.select_userinfo(otherid, config=userprofile['config'])
reportstats = profile.select_report_stats(otherid)
userinfo['reportstats'] = reportstats
userinfo['reporttotal'] = sum(reportstats.values())
page.append(define.render('user/shouts.html', [
# Profile information
userprofile,
# User information
userinfo,
# Relationship
profile.select_relation(request.userid, otherid),
# Myself
profile.select_myself(request.userid),
# Comments
shout.select(request.userid, ownerid=otherid, staffnotes=True),
# Feature
"staffnotes",
]))
return Response(define.common_page_end(request.userid, page))
开发者ID:Syfaro,项目名称:weasyl,代码行数:32,代码来源:profile.py
示例5: profile_media_
def profile_media_(request):
name = request.matchdict['name']
link_type = request.matchdict['link_type']
userid = profile.resolve(None, None, name)
media_items = media.get_user_media(userid)
if not media_items.get(link_type):
raise httpexceptions.HTTPNotFound()
return Response(headerlist=[
('X-Accel-Redirect', str(media_items[link_type][0]['file_url']),),
('Cache-Control', 'max-age=0',),
])
开发者ID:Syfaro,项目名称:weasyl,代码行数:11,代码来源:profile.py
示例6: admincontrol_manageuser_get_
def admincontrol_manageuser_get_(request):
form = request.web_input(name="")
otherid = profile.resolve(None, None, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
if request.userid != otherid and otherid in staff.ADMINS and request.userid not in staff.TECHNICAL:
return Response(d.errorpage(request.userid, errorcode.permission))
return Response(d.webpage(request.userid, "admincontrol/manageuser.html", [
# Manage user information
profile.select_manage(otherid),
], title="User Management"))
开发者ID:Syfaro,项目名称:weasyl,代码行数:13,代码来源:admin.py
示例7: GET
def GET(self):
form = web.input(name="")
otherid = profile.resolve(None, None, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
if self.user_id != otherid and otherid in staff.ADMINS and self.user_id not in staff.TECHNICAL:
return d.errorpage(self.user_id, errorcode.permission)
return d.webpage(self.user_id, "admincontrol/manageuser.html", [
# Manage user information
profile.select_manage(otherid),
# only technical staff can impersonate users
self.user_id in staff.TECHNICAL,
])
开发者ID:0x15,项目名称:weasyl,代码行数:15,代码来源:admin.py
示例8: modcontrol_contentbyuser_
def modcontrol_contentbyuser_(request):
form = request.web_input(name='', features=[])
# Does the target user exist? There's no sense in displaying a blank page if not.
target_userid = profile.resolve(None, None, form.name)
if not target_userid:
raise WeasylError("userRecordMissing")
submissions = moderation.submissionsbyuser(request.userid, form) if 's' in form.features else []
characters = moderation.charactersbyuser(request.userid, form) if 'c' in form.features else []
journals = moderation.journalsbyuser(request.userid, form) if 'j' in form.features else []
return Response(define.webpage(request.userid, "modcontrol/contentbyuser.html", [
form.name,
sorted(submissions + characters + journals, key=lambda item: item['unixtime'], reverse=True),
], title=form.name + "'s Content"))
开发者ID:Syfaro,项目名称:weasyl,代码行数:16,代码来源:moderation.py
示例9: collection_offer_
def collection_offer_(request):
form = request.web_input(submitid="", username="")
form.otherid = profile.resolve(None, None, form.username)
form.submitid = int(form.submitid)
if not form.otherid:
raise WeasylError("userRecordMissing")
if request.userid == form.otherid:
raise WeasylError("cannotSelfCollect")
collection.offer(request.userid, form.submitid, form.otherid)
return Response(define.errorpage(
request.userid,
"**Success!** Your collection offer has been sent "
"and the recipient may now add this submission to their gallery.",
[["Go Back", "/submission/%i" % (form.submitid,)], ["Return to the Home Page", "/index"]]))
开发者ID:Syfaro,项目名称:weasyl,代码行数:16,代码来源:weasyl_collections.py
示例10: collections_
def collections_(request):
form = request.web_input(userid="", name="", backid=None, nextid=None,
folderid=None)
form.name = request.matchdict.get('name', form.name)
form.userid = define.get_int(form.userid)
config = define.get_config(request.userid)
rating = define.get_rating(request.userid)
otherid = profile.resolve(request.userid, form.userid, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
elif not request.userid and "h" in define.get_config(otherid):
return Response(define.errorpage(request.userid, errorcode.no_guest_access))
userprofile = profile.select_profile(otherid, images=True, viewer=request.userid)
has_fullname = userprofile['full_name'] is not None and userprofile['full_name'].strip() != ''
page_title = u"%s's collections" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(request.userid, title=page_title)
url_format = "/collections?userid={userid}&%s".format(userid=userprofile['userid'])
result = pagination.PaginatedResult(
collection.select_list, collection.select_count, 'submitid', url_format, request.userid, rating, 66,
otherid=otherid, backid=define.get_int(form.backid), nextid=define.get_int(form.nextid), config=config)
page.append(define.render('user/collections.html', [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
# Relationship
profile.select_relation(request.userid, otherid),
# Collections
result,
]))
return Response(define.common_page_end(request.userid, page))
开发者ID:Syfaro,项目名称:weasyl,代码行数:37,代码来源:profile.py
示例11: profile_
def profile_(request):
form = request.web_input(userid="", name="")
form.name = request.matchdict.get('name', form.name)
form.userid = define.get_int(form.userid)
config = define.get_config(request.userid)
rating = define.get_rating(request.userid)
otherid = profile.resolve(request.userid, form.userid, form.name)
if not otherid:
raise WeasylError("userRecordMissing")
userprofile = profile.select_profile(otherid, images=True, viewer=request.userid)
extras = {
"canonical_url": "/~" + define.get_sysname(form.name)
}
if not request.userid:
# Only generate the Twitter/OGP meta headers if not authenticated (the UA viewing is likely automated).
twit_card = profile.twitter_card(otherid)
if define.user_is_twitterbot():
extras['twitter_card'] = twit_card
# The "og:" prefix is specified in page_start.html, and og:image is required by the OGP spec, so something must be in there.
extras['ogp'] = {
'title': twit_card['title'],
'site_name': "Weasyl",
'type': "website",
'url': twit_card['url'],
'description': twit_card['description'],
'image': twit_card['image:src'] if 'image:src' in twit_card else define.cdnify_url('/static/images/logo-mark-light.svg'),
}
if not request.userid and "h" in userprofile['config']:
return Response(define.errorpage(
request.userid,
"You cannot view this page because the owner does not allow guests to view their profile.",
**extras))
has_fullname = userprofile['full_name'] is not None and userprofile['full_name'].strip() != ''
extras['title'] = u"%s's profile" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(request.userid, **extras)
define.common_view_content(request.userid, otherid, "profile")
if 'O' in userprofile['config']:
submissions = collection.select_list(
request.userid, rating, 11, otherid=otherid, options=["cover"], config=config)
more_submissions = 'collections'
featured = None
elif 'A' in userprofile['config']:
submissions = character.select_list(
request.userid, rating, 11, otherid=otherid, options=["cover"], config=config)
more_submissions = 'characters'
featured = None
else:
submissions = submission.select_list(
request.userid, rating, 11, otherid=otherid, options=["cover"], config=config,
profile_page_filter=True)
more_submissions = 'submissions'
featured = submission.select_featured(request.userid, otherid, rating)
if userprofile['show_favorites_bar']:
favorites = favorite.select_submit(request.userid, rating, 11, otherid=otherid, config=config)
else:
favorites = None
statistics, show_statistics = profile.select_statistics(otherid)
page.append(define.render('user/profile.html', [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
macro.SOCIAL_SITES,
# Relationship
profile.select_relation(request.userid, otherid),
# Myself
profile.select_myself(request.userid),
# Recent submissions
submissions, more_submissions,
favorites,
featured,
# Folders preview
folder.select_preview(request.userid, otherid, rating, 3),
# Latest journal
journal.select_latest(request.userid, rating, otherid=otherid, config=config),
# Recent shouts
shout.select(request.userid, ownerid=otherid, limit=8),
# Statistics information
statistics,
show_statistics,
# Commission information
commishinfo.select_list(otherid),
# Friends
lambda: frienduser.has_friends(otherid),
]))
return Response(define.common_page_end(request.userid, page))
开发者ID:Weasyl,项目名称:weasyl,代码行数:99,代码来源:profile.py
示例12: setusermode
def setusermode(userid, form):
form.userid = profile.resolve(None, form.userid, form.username)
if not form.userid:
raise WeasylError('noUser')
form.reason = form.reason.strip()
if form.mode == "s":
if form.datetype == "r":
# Relative date
magnitude = int(form.duration)
if magnitude < 0:
raise WeasylError("releaseInvalid")
basedate = datetime.datetime.now()
if form.durationunit == "y":
basedate += datetime.timedelta(days=magnitude * 365)
elif form.durationunit == "m":
basedate += datetime.timedelta(days=magnitude * 30)
elif form.durationunit == "w":
basedate += datetime.timedelta(weeks=magnitude)
else: # Catchall, days
basedate += datetime.timedelta(days=magnitude)
form.release = d.convert_unixdate(basedate.day, basedate.month, basedate.year)
else:
# Absolute date
if datetime.date(int(form.year), int(form.month), int(form.day)) < datetime.date.today():
raise WeasylError("releaseInvalid")
form.release = d.convert_unixdate(form.day, form.month, form.year)
else:
form.release = None
if userid not in staff.MODS:
raise WeasylError("Unexpected")
elif form.userid in staff.MODS:
raise WeasylError("InsufficientPermissions")
if form.mode == "b":
query = d.execute(
"UPDATE login SET settings = REPLACE(REPLACE(settings, 'b', ''), 's', '') || 'b' WHERE userid = %i"
" RETURNING userid", [form.userid])
if query:
d.execute("DELETE FROM permaban WHERE userid = %i", [form.userid])
d.execute("DELETE FROM suspension WHERE userid = %i", [form.userid])
d.execute("INSERT INTO permaban VALUES (%i, '%s')", [form.userid, form.reason])
elif form.mode == "s":
if not form.release:
raise WeasylError("releaseInvalid")
query = d.execute(
"UPDATE login SET settings = REPLACE(REPLACE(settings, 'b', ''), 's', '') || 's' WHERE userid = %i"
" RETURNING userid", [form.userid])
if query:
d.execute("DELETE FROM permaban WHERE userid = %i", [form.userid])
d.execute("DELETE FROM suspension WHERE userid = %i", [form.userid])
d.execute("INSERT INTO suspension VALUES (%i, '%s', %i)", [form.userid, form.reason, form.release])
elif form.mode == "x":
query = d.execute("UPDATE login SET settings = REPLACE(REPLACE(settings, 's', ''), 'b', '') WHERE userid = %i",
[form.userid])
d.execute("DELETE FROM permaban WHERE userid = %i", [form.userid])
d.execute("DELETE FROM suspension WHERE userid = %i", [form.userid])
action = _mode_to_action_map.get(form.mode)
if action is not None:
isoformat_release = None
message = form.reason
if form.release is not None:
isoformat_release = d.datetime.datetime.fromtimestamp(form.release).isoformat()
message = '#### Release date: %s\n\n%s' % (isoformat_release, message)
d.append_to_log(
'staff.actions',
userid=userid, action=action, target=form.userid, reason=form.reason,
release=isoformat_release)
d.get_login_settings.invalidate(form.userid)
note_about(userid, form.userid, 'User mode changed: action was %r' % (action,), message)
开发者ID:Syfaro,项目名称:weasyl,代码行数:79,代码来源:moderation.py
示例13: favorites_
def favorites_(request):
def _FEATURE(target):
if target == "submit":
return 10
elif target == "char":
return 20
elif target == "journal":
return 30
else:
return 0
form = request.web_input(userid="", name="", feature="", backid=None, nextid=None)
form.name = request.matchdict.get('name', form.name)
form.userid = define.get_int(form.userid)
config = define.get_config(request.userid)
rating = define.get_rating(request.userid)
otherid = profile.resolve(request.userid, form.userid, form.name)
# TODO(hyena): Why aren't more of these WeasylErrors?
if not otherid:
raise WeasylError("userRecordMissing")
elif not request.userid and "h" in define.get_config(otherid):
return Response(define.errorpage(request.userid, errorcode.no_guest_access))
elif request.userid != otherid and 'v' in define.get_config(otherid):
return Response(define.errorpage(
request.userid,
"You cannot view this page because the owner does not allow anyone to see their favorites."))
userprofile = profile.select_profile(otherid, images=True, viewer=request.userid)
has_fullname = userprofile['full_name'] is not None and userprofile['full_name'].strip() != ''
page_title = u"%s's favorites" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(request.userid, title=page_title)
if form.feature:
nextid = define.get_int(form.nextid)
backid = define.get_int(form.backid)
url_format = (
"/favorites?userid={userid}&feature={feature}&%s".format(userid=userprofile['userid'], feature=form.feature))
id_field = form.feature + "id"
count_function = None
if form.feature == "submit":
select_function = favorite.select_submit
count_function = favorite.select_submit_count
elif form.feature == "char":
select_function = favorite.select_char
elif form.feature == "journal":
select_function = favorite.select_journal
else:
raise httpexceptions.HTTPNotFound()
faves = pagination.PaginatedResult(
select_function, count_function,
id_field, url_format, request.userid, rating, 60,
otherid=otherid, backid=backid, nextid=nextid, config=config)
else:
faves = {
"submit": favorite.select_submit(request.userid, rating, 22, otherid=otherid, config=config),
"char": favorite.select_char(request.userid, rating, 22, otherid=otherid, config=config),
"journal": favorite.select_journal(request.userid, rating, 22, otherid=otherid, config=config),
}
page.append(define.render('user/favorites.html', [
# Profile information
userprofile,
# User information
profile.select_userinfo(otherid, config=userprofile['config']),
# Relationship
profile.select_relation(request.userid, otherid),
# Feature
form.feature,
# Favorites
faves,
]))
return Response(define.common_page_end(request.userid, page))
开发者ID:Syfaro,项目名称:weasyl,代码行数:77,代码来源:profile.py
注:本文中的weasyl.profile.resolve函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论