本文整理汇总了Python中weasyl.define.render函数的典型用法代码示例。如果您正苦于以下问题:Python render函数的具体用法?Python render怎么用?Python render使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了render函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: 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)
开发者ID:0x15,项目名称:weasyl,代码行数:32,代码来源:detail.py
示例2: 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
示例3: request
def request(form):
token = security.generate_key(100)
email = emailer.normalize_address(form.email)
username = d.get_sysname(form.username)
# Determine the user associated with `username`; if the user is not found,
# raise an exception
user = d.engine.execute(
"SELECT userid, email FROM login WHERE login_name = %(username)s",
username=username).first()
if not user:
raise WeasylError("loginRecordMissing")
# Check the user's email address against the provided e-mail address,
# raising an exception if there is a mismatch
if email != emailer.normalize_address(user.email):
raise WeasylError("emailInvalid")
# Insert a record into the forgotpassword table for the user,
# or update an existing one
now = d.get_time()
address = d.get_address()
d.engine.execute("""
INSERT INTO forgotpassword (userid, token, set_time, address)
VALUES (%(id)s, %(token)s, %(time)s, %(address)s)
ON CONFLICT (userid) DO UPDATE SET
token = %(token)s,
set_time = %(time)s,
address = %(address)s
""", id=user.userid, token=token, time=now, address=address)
# Generate and send an email to the user containing a password reset link
emailer.append([email], None, "Weasyl Password Recovery", d.render("email/reset_password.html", [token]))
开发者ID:charmander,项目名称:weasyl,代码行数:35,代码来源:resetpassword.py
示例4: GET
def GET(self, name=None):
form = web.input(userid="")
otherid = profile.resolve(self.user_id, define.get_int(form.userid), name)
if not otherid:
raise WeasylError("userRecordMissing")
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 staff notes" % (userprofile['full_name'] if has_fullname else userprofile['username'],)
page = define.common_page_start(self.user_id, 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(template.user_shouts, [
# Profile information
userprofile,
# User information
userinfo,
# Relationship
profile.select_relation(self.user_id, otherid),
# Myself
profile.select_myself(self.user_id),
# Comments
shout.select(self.user_id, ownerid=otherid, staffnotes=True),
# Feature
"staffnotes",
]))
return define.common_page_end(self.user_id, page, now=time.time())
开发者ID:0x15,项目名称:weasyl,代码行数:32,代码来源:profile.py
示例5: request
def request(form):
token = security.generate_key(100)
email = emailer.normalize_address(form.email)
# Determine the user associated with `username`; if the user is not found,
# raise an exception
user_id = d.engine.scalar("""
SELECT userid FROM login WHERE email = %(email)s
""", email=email)
# If `user_id` exists, then the supplied email was valid; if not valid, do nothing, raising
# no errors for plausible deniability of email existence
if user_id:
# Insert a record into the forgotpassword table for the user,
# or update an existing one
now = d.get_time()
address = d.get_address()
d.engine.execute("""
INSERT INTO forgotpassword (userid, token, set_time, address)
VALUES (%(id)s, %(token)s, %(time)s, %(address)s)
ON CONFLICT (userid) DO UPDATE SET
token = %(token)s,
set_time = %(time)s,
address = %(address)s
""", id=user_id, token=token, time=now, address=address)
# Generate and send an email to the user containing a password reset link
emailer.append([email], None, "Weasyl Password Recovery", d.render("email/reset_password.html", [token]))
开发者ID:Syfaro,项目名称:weasyl,代码行数:29,代码来源:resetpassword.py
示例6: 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
示例7: 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))
开发者ID:kfkitsune,项目名称:weasyl,代码行数:32,代码来源:detail.py
示例8: 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)
开发者ID:hyena,项目名称:weasyl,代码行数:32,代码来源:detail.py
示例9: create
def create(form):
# Normalize form data
username = d.plaintext(form.username[:_USERNAME])
sysname = d.get_sysname(username)
email = emailer.normalize_address(form.email)
emailcheck = emailer.normalize_address(form.emailcheck)
password = form.password
passcheck = form.passcheck
if form.day and form.month and form.year:
try:
birthday = arrow.Arrow(int(form.year), int(form.month), int(form.day))
except ValueError:
raise WeasylError("birthdayInvalid")
else:
birthday = None
# Check mismatched form data
if password != passcheck:
raise WeasylError("passwordMismatch")
if email != emailcheck:
raise WeasylError("emailMismatch")
# Check invalid form data
if birthday is None or d.age_in_years(birthday) < 13:
raise WeasylError("birthdayInvalid")
if not password_secure(password):
raise WeasylError("passwordInsecure")
if not email:
raise WeasylError("emailInvalid")
if not sysname or ";" in username:
raise WeasylError("usernameInvalid")
if sysname in ["admin", "administrator", "mod", "moderator", "weasyl",
"weasyladmin", "weasylmod", "staff", "security"]:
raise WeasylError("usernameInvalid")
if email_exists(email):
raise WeasylError("emailExists")
if username_exists(sysname):
raise WeasylError("usernameExists")
# Create pending account
token = security.generate_key(40)
d.engine.execute(d.meta.tables["logincreate"].insert(), {
"token": token,
"username": username,
"login_name": sysname,
"hashpass": passhash(password),
"email": email,
"birthday": birthday,
"unixtime": arrow.now(),
})
# Queue verification email
emailer.append([email], None, "Weasyl Account Creation", d.render(
"email/verify_account.html", [token, sysname]))
d.metric('increment', 'createdusers')
开发者ID:charmander,项目名称:weasyl,代码行数:59,代码来源:login.py
示例10: 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))
开发者ID:Syfaro,项目名称:weasyl,代码行数:56,代码来源:detail.py
示例11: submission_tag_history_
def submission_tag_history_(request):
submitid = int(request.matchdict['submitid'])
page_title = "Tag updates"
page = define.common_page_start(request.userid, title=page_title)
page.append(define.render('detail/tag_history.html', [
submission.select_view_api(request.userid, submitid),
searchtag.tag_history(submitid),
]))
return Response(define.common_page_end(request.userid, page))
开发者ID:kfkitsune,项目名称:weasyl,代码行数:10,代码来源:detail.py
示例12: append
def append(db, email, terms):
token = security.generate_key(40)
email = emailer.normalize_address(email)
if not email:
raise error.WeasylError("emailInvalid")
define.execute(db, "INSERT INTO premiumpurchase VALUES ('%s', '%s', %i)", [token, email, terms])
emailer.append([email], None, "Weasyl Premium Verification",
define.render("email/verify_premium.html", [token, terms]))
开发者ID:0x15,项目名称:weasyl,代码行数:11,代码来源:premiumpurchase.py
示例13: render_form
def render_form(self, scopes, credentials, mobile, error=None,
username='', password='', remember_me=False, not_me=False):
db = d.connect()
client = db.query(orm.OAuthConsumer).get(credentials['client_id'])
if self.user_id:
user = db.query(orm.Login).get(self.user_id)
user_media = media.get_user_media(self.user_id)
else:
user = user_media = None
credentials['scopes'] = scopes
return d.render('oauth2/authorize.html', [
scopes, credentials, client, user, user_media, mobile, error,
username, password, remember_me, not_me,
])
开发者ID:0x15,项目名称:weasyl,代码行数:14,代码来源:oauth2.py
示例14: request
def request(form):
token = security.generate_key(100)
email = emailer.normalize_address(form.email)
username = d.get_sysname(form.username)
# Determine the user associated with `username`; if the user is not found,
# raise an exception
user = d.engine.execute(
"SELECT userid, email FROM login WHERE login_name = %(username)s",
username=username).first()
if not user:
raise WeasylError("loginRecordMissing")
# Check the user's email address against the provided e-mail address,
# raising an exception if there is a mismatch
if email != emailer.normalize_address(user.email):
raise WeasylError("emailInvalid")
# Insert a record into the forgotpassword table for the user,
# or update an existing one
now = d.get_time()
address = d.get_address()
try:
d.engine.execute(
"INSERT INTO forgotpassword (userid, token, set_time, address)"
" VALUES (%(id)s, %(token)s, %(time)s, %(address)s)",
id=user.userid, token=token, time=now, address=address)
except IntegrityError:
# An IntegrityError will probably indicate that a password reset request
# already exists and that the existing row should be updated. If the update
# doesn't find anything, though, the original error should be re-raised.
result = d.engine.execute("""
UPDATE forgotpassword SET
token = %(token)s,
set_time = %(time)s,
address = %(address)s
WHERE userid = %(id)s
""", id=user.userid, token=token, time=now, address=address)
if result.rowcount != 1:
raise
# Generate and send an email to the user containing a password reset link
emailer.append([email], None, "Weasyl Password Recovery", d.render("email/reset_password.html", [token]))
开发者ID:hyena,项目名称:weasyl,代码行数:46,代码来源:resetpassword.py
示例15: 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
示例16: 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
示例17: create
def create(form):
# Normalize form data
username = d.plaintext(form.username[:_USERNAME])
sysname = d.get_sysname(username)
email = emailer.normalize_address(form.email)
emailcheck = emailer.normalize_address(form.emailcheck)
password = form.password
passcheck = form.passcheck
if form.day and form.month and form.year:
try:
birthday = arrow.Arrow(int(form.year), int(form.month), int(form.day))
except ValueError:
raise WeasylError("birthdayInvalid")
else:
birthday = None
# Check mismatched form data
if password != passcheck:
raise WeasylError("passwordMismatch")
if email != emailcheck:
raise WeasylError("emailMismatch")
# Check invalid form data
if birthday is None or d.age_in_years(birthday) < 13:
raise WeasylError("birthdayInvalid")
if not password_secure(password):
raise WeasylError("passwordInsecure")
if not email:
raise WeasylError("emailInvalid")
if is_email_blacklisted(email):
raise WeasylError("emailBlacklisted")
if not sysname or ";" in username:
raise WeasylError("usernameInvalid")
if sysname in ["admin", "administrator", "mod", "moderator", "weasyl",
"weasyladmin", "weasylmod", "staff", "security"]:
raise WeasylError("usernameInvalid")
if username_exists(sysname):
raise WeasylError("usernameExists")
# Account verification token
token = security.generate_key(40)
# Only attempt to create the account if the email is unused (as defined by the function)
if not email_exists(email):
# Create pending account
d.engine.execute(d.meta.tables["logincreate"].insert(), {
"token": token,
"username": username,
"login_name": sysname,
"hashpass": passhash(password),
"email": email,
"birthday": birthday,
"unixtime": arrow.now(),
})
# Queue verification email
emailer.append([email], None, "Weasyl Account Creation", d.render(
"email/verify_account.html", [token, sysname]))
d.metric('increment', 'createdusers')
else:
# Store a dummy record to support plausible deniability of email addresses
# So "reserve" the username, but mark the record invalid, and use the token to satisfy the uniqueness
# constraint for the email field (e.g., if there is already a valid, pending row in the table).
d.engine.execute(d.meta.tables["logincreate"].insert(), {
"token": token,
"username": username,
"login_name": sysname,
"hashpass": passhash(password),
"email": token,
"birthday": arrow.now(),
"unixtime": arrow.now(),
"invalid": True,
})
# The email address in question is already in use in either `login` or `logincreate`;
# let the already registered user know this via email (perhaps they forgot their username/password)
query_username_login = d.engine.scalar("SELECT login_name FROM login WHERE email = %(email)s", email=email)
query_username_logincreate = d.engine.scalar("SELECT login_name FROM logincreate WHERE email = %(email)s", email=email)
emailer.append([email], None, "Weasyl Account Creation - Account Already Exists", d.render(
"email/email_in_use_account_creation.html", [query_username_login or query_username_logincreate]))
开发者ID:Syfaro,项目名称:weasyl,代码行数:82,代码来源:login.py
示例18: 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 = {}
if not request.userid:
# Only generate the Twitter/OGP meta headers if not authenticated (the UA viewing is likely automated).
twit_card = submission.twitter_card(submitid)
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'],
# >> BUG AVOIDANCE: https://trello.com/c/mBx51jfZ/1285-any-image-link-with-in-it-wont-preview-up-it-wont-show-up-in-embeds-too
# Image URLs with '~' in it will not be displayed by Discord, so replace ~ with the URL encoded char code %7E
'image': twit_card['image:src'].replace('~', '%7E') if 'image:src' in twit_card else define.cdnify_url(
'/static/images/logo-mark-light.svg'),
}
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 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"]
submission_files = item["sub_media"].get("submission")
submission_file = submission_files[0] if submission_files else None
extras["pdf"] = bool(submission_file) and submission_file["file_type"] == "pdf"
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))
开发者ID:kfkitsune,项目名称:weasyl,代码行数:71,代码来源:detail.py
示例19: GET
def GET(self):
now = time.time()
page = define.common_page_start(self.user_id, options=["homepage"], title="Home")
page.append(define.render("etc/index.html", index.template_fields(self.user_id)))
return define.common_page_end(self.user_id, page, now=now)
开发者ID:hyena,项目名称:weasyl,代码行数:5,代码来源:general.py
示例20: index_
def index_(request):
page = define.common_page_start(request.userid, options=["homepage"], title="Home")
page.append(define.render("etc/index.html", index.template_fields(request.userid)))
return Response(define.common_page_end(request.userid, page))
开发者ID:Syfaro,项目名称:weasyl,代码行数:4,代码来源:general.py
注:本文中的weasyl.define.render函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论