本文整理汇总了Python中r2.lib.filters.safemarkdown函数的典型用法代码示例。如果您正苦于以下问题:Python safemarkdown函数的具体用法?Python safemarkdown怎么用?Python safemarkdown使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了safemarkdown函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: thing_attr
def thing_attr(self, thing, attr):
if attr == "_fullname":
return "LiveUpdateEvent_" + thing._id
elif attr == "viewer_count":
if thing.state == "live":
return thing.active_visitors
else:
return None
elif attr == "viewer_count_fuzzed":
if thing.state == "live":
return thing.active_visitors_fuzzed
else:
return None
elif attr == "description_html":
return filters.spaceCompress(
filters.safemarkdown(thing.description, nofollow=True) or "")
elif attr == "resources_html":
return filters.spaceCompress(
filters.safemarkdown(thing.resources, nofollow=True) or "")
elif attr == "websocket_url":
if thing.state == "live":
return websockets.make_url(
"/live/" + c.liveupdate_event._id, max_age=24 * 60 * 60)
else:
return None
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例2: thing_attr
def thing_attr(self, thing, attr):
if attr == "_fullname":
return "LiveUpdateEvent_" + thing._id
elif attr == "viewer_count":
if thing.state == "live":
return thing.active_visitors
else:
return None
elif attr == "viewer_count_fuzzed":
if thing.state == "live":
return thing.active_visitors_fuzzed
else:
return None
elif attr == "total_views":
# this requires an extra query, so we'll only show it in places
# where we're just getting one event.
if not hasattr(thing, "total_views"):
return None
return thing.total_views
elif attr == "description_html":
return filters.spaceCompress(
filters.safemarkdown(thing.description, nofollow=True) or "")
elif attr == "resources_html":
return filters.spaceCompress(
filters.safemarkdown(thing.resources, nofollow=True) or "")
elif attr == "websocket_url":
if thing.state == "live":
return websockets.make_url(
"/live/" + thing._id, max_age=24 * 60 * 60)
else:
return None
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例3: thing_attr
def thing_attr(self, thing, attr):
from r2.lib.scraper import get_media_embed
if attr == "media_embed":
if (thing.media_object and
not isinstance(thing.media_object, basestring)):
media_embed = get_media_embed(thing.media_object)
if media_embed:
return dict(scrolling = media_embed.scrolling,
width = media_embed.width,
height = media_embed.height,
content = media_embed.content)
return dict()
elif attr == "editted" and not isinstance(thing.editted, bool):
return (time.mktime(thing.editted.astimezone(pytz.UTC).timetuple())
- time.timezone)
elif attr == 'subreddit':
return thing.subreddit.name
elif attr == 'subreddit_id':
return thing.subreddit._fullname
elif attr == 'selftext':
if not thing.expunged:
return thing.selftext
else:
return ''
elif attr == 'selftext_html':
if not thing.expunged:
return safemarkdown(thing.selftext)
else:
return safemarkdown(_("[removed]"))
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例4: thing_attr
def thing_attr(self, thing, attr):
from r2.lib.media import get_media_embed
if attr in ("media_embed", "secure_media_embed"):
media_object = getattr(thing, attr.replace("_embed", "_object"))
if media_object and not isinstance(media_object, basestring):
media_embed = get_media_embed(media_object)
if media_embed:
return {
"scrolling": media_embed.scrolling,
"width": media_embed.width,
"height": media_embed.height,
"content": media_embed.content,
}
return {}
elif attr == "clicked":
# this hasn't been used in years.
return False
elif attr == "editted" and not isinstance(thing.editted, bool):
return (time.mktime(thing.editted.astimezone(pytz.UTC).timetuple())
- time.timezone)
elif attr == 'subreddit':
return thing.subreddit.name
elif attr == 'subreddit_id':
return thing.subreddit._fullname
elif attr == 'selftext':
if not thing.expunged:
return thing.selftext
else:
return ''
elif attr == 'selftext_html':
if not thing.expunged:
return safemarkdown(thing.selftext)
else:
return safemarkdown(_("[removed]"))
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例5: POST_edit
def POST_edit(self, form, jquery, title, description, resources, nsfw):
"""Configure the thread.
Requires the `settings` permission for this thread.
See also: [/live/*thread*/about.json](#GET_live_{thread}_about.json).
"""
if not is_event_configuration_valid(form):
return
changes = {}
if title != c.liveupdate_event.title:
changes["title"] = title
if description != c.liveupdate_event.description:
changes["description"] = description
changes["description_html"] = safemarkdown(description, nofollow=True) or ""
if resources != c.liveupdate_event.resources:
changes["resources"] = resources
changes["resources_html"] = safemarkdown(resources, nofollow=True) or ""
_broadcast(type="settings", payload=changes)
c.liveupdate_event.title = title
c.liveupdate_event.description = description
c.liveupdate_event.resources = resources
c.liveupdate_event.nsfw = nsfw
c.liveupdate_event._commit()
form.set_html(".status", _("saved"))
form.refresh()
示例6: thing_attr
def thing_attr(self, thing, attr):
if attr not in self._public_attrs and not thing.can_view(c.user):
return None
if attr == "_ups" and thing.hide_subscribers:
return 0
# Don't return accounts_active counts in /subreddits
elif (attr == "accounts_active" and isinstance(c.site, SubSR)):
return None
elif attr == 'description_html':
return safemarkdown(thing.description)
elif attr == 'public_description_html':
return safemarkdown(thing.public_description)
elif attr in ('is_banned', 'is_contributor', 'is_moderator',
'is_subscriber'):
if c.user_is_loggedin:
check_func = getattr(thing, attr)
return bool(check_func(c.user))
return None
elif attr == 'submit_text_html':
return safemarkdown(thing.submit_text)
elif attr == 'community_rules':
if thing.community_rules:
return thing.community_rules.split('\n')
return []
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例7: thing_attr
def thing_attr(self, thing, attr):
if attr not in self._public_attrs and not thing.can_view(c.user):
return None
if attr == "_ups" and thing.hide_subscribers:
return 0
# Don't return accounts_active counts in /subreddits
elif attr == "accounts_active" and isinstance(c.site, SubSR):
return None
elif attr == "description_html":
return safemarkdown(thing.description)
elif attr == "public_description_html":
return safemarkdown(thing.public_description)
elif attr in ("is_banned", "is_contributor", "is_moderator", "is_subscriber"):
if c.user_is_loggedin:
check_func = getattr(thing, attr)
return bool(check_func(c.user))
return None
elif attr == "submit_text_html":
return safemarkdown(thing.submit_text)
elif attr == "community_rules":
if thing.community_rules:
return thing.community_rules.split("\n")
return []
elif attr == "user_sr_style_enabled":
if c.user_is_loggedin:
return c.user.use_subreddit_style(thing)
else:
return True
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例8: GET_comments
def GET_comments(self, link):
if not link:
self.abort404()
if not link.subreddit_slow.can_view(c.user):
abort(403, 'forbidden')
links = list(wrap_links(link))
if not links:
# they aren't allowed to see this link
return self.abort(403, 'forbidden')
link = links[0]
wrapper = make_wrapper(render_class = StarkComment,
target = "_top")
b = TopCommentBuilder(link, CommentSortMenu.operator('confidence'),
wrap = wrapper)
listing = NestedListing(b, num = 10, # TODO: add config var
parent_name = link._fullname)
raw_bar = strings.comments_panel_text % dict(
fd_link=link.permalink)
md_bar = safemarkdown(raw_bar, target="_top")
res = RedditMin(content=CommentsPanel(link=link,
listing=listing.listing(),
expanded=auto_expand_panel(link),
infobar=md_bar))
return res.render()
示例9: POST_edit
def POST_edit(self, form, jquery, title, description, timezone):
if form.has_errors("title", errors.NO_TEXT,
errors.TOO_LONG):
return
if form.has_errors("description", errors.TOO_LONG):
return
if form.has_errors("timezone", errors.INVALID_TIMEZONE):
return
changes = {}
if title != c.liveupdate_event.title:
changes["title"] = title
if description != c.liveupdate_event.description:
changes["description"] = safemarkdown(description, wrap=False)
send_websocket_broadcast(type="settings", payload=changes)
c.liveupdate_event.title = title
c.liveupdate_event.description = description
c.liveupdate_event.timezone = timezone.zone
c.liveupdate_event._commit()
form.set_html(".status", _("saved"))
form.refresh()
示例10: GET_document
def GET_document(self):
try:
c.errors = c.errors or ErrorSet()
# clear cookies the old fashioned way
c.cookies = Cookies()
code = request.GET.get('code', '')
try:
code = int(code)
except ValueError:
code = 404
srname = request.GET.get('srname', '')
takedown = request.GET.get('takedown', "")
# StatusBasedRedirect will override this anyway, but we need this
# here for pagecache to see.
response.status_int = code
if srname:
c.site = Subreddit._by_name(srname)
if request.GET.has_key('allow_framing'):
c.allow_framing = bool(request.GET['allow_framing'] == '1')
if code in (204, 304):
# NEVER return a content body on 204/304 or downstream
# caches may become very confused.
if request.GET.has_key('x-sup-id'):
x_sup_id = request.GET.get('x-sup-id')
if '\r\n' not in x_sup_id:
response.headers['x-sup-id'] = x_sup_id
return ""
elif c.render_style not in self.allowed_render_styles:
return str(code)
elif c.render_style in extensions.API_TYPES:
data = request.environ.get('extra_error_data', {'error': code})
if request.environ.get("WANT_RAW_JSON"):
return scriptsafe_dumps(data)
return websafe_json(json.dumps(data))
elif takedown and code == 404:
link = Link._by_fullname(takedown)
return pages.TakedownPage(link).render()
elif code == 403:
return self.send403()
elif code == 429:
return self.send429()
elif code == 500:
randmin = {'admin': random.choice(self.admins)}
failien_url = make_failien_url()
sad_message = safemarkdown(rand_strings.sadmessages % randmin)
return redditbroke % (failien_url, sad_message)
elif code == 503:
return self.send503()
elif c.site:
return self.send404()
else:
return "page not found"
except Exception as e:
return handle_awful_failure("ErrorController.GET_document: %r" % e)
示例11: to_serializable
def to_serializable(self, sr, author, current_user=None):
return {
'id': to36(self.id),
'date': self.date.isoformat(),
'author': to_serializable_author(author, sr, current_user,
self.is_author_hidden),
'body': safemarkdown(self.body),
'isInternal': self.is_internal
}
示例12: thing_attr
def thing_attr(self, thing, attr):
if attr == "_ups" and thing.hide_subscribers:
return 0
# Don't return accounts_active counts in /subreddits
elif (attr == "accounts_active" and isinstance(c.site, SubSR)):
return None
elif attr == 'description_html':
return safemarkdown(thing.description)
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例13: thing_attr
def thing_attr(self, thing, attr):
if attr not in self._public_attrs and not thing.can_view(c.user):
return None
if attr == "_ups" and thing.hide_subscribers:
return 0
# Don't return accounts_active counts in /subreddits
elif (attr == "accounts_active" and isinstance(c.site, SubSR)):
return None
elif attr == 'description_html':
return safemarkdown(thing.description)
elif attr == 'public_description_html':
return safemarkdown(thing.public_description)
elif attr == "is_moderator":
if c.user_is_loggedin:
return thing.moderator
return None
elif attr == "is_contributor":
if c.user_is_loggedin:
return thing.contributor
return None
elif attr == "is_subscriber":
if c.user_is_loggedin:
return thing.subscriber
return None
elif attr == 'is_banned':
if c.user_is_loggedin:
return thing.banned
return None
elif attr == 'submit_text_html':
return safemarkdown(thing.submit_text)
elif attr == 'community_rules':
if thing.community_rules:
return thing.community_rules.split('\n')
return []
elif attr == 'user_sr_style_enabled':
if c.user_is_loggedin:
return c.user.use_subreddit_style(thing)
else:
return True
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例14: thing_attr
def thing_attr(self, thing, attr):
if attr == "was_comment":
return thing.was_comment
elif attr == "context":
return ("" if not thing.was_comment
else thing.permalink + "?context=3")
elif attr == "dest":
return thing.to.name
elif attr == "body_html":
return safemarkdown(thing.body)
return ThingJsonTemplate.thing_attr(self, thing, attr)
示例15: thing_attr
def thing_attr(self, thing, attr):
if attr in self._private_attrs and not thing.can_view(c.user):
return None
if attr == "_ups" and thing.hide_subscribers:
return 0
# Don't return accounts_active counts in /subreddits
elif attr == "accounts_active" and isinstance(c.site, SubSR):
return None
elif attr == "description_html":
return safemarkdown(thing.description)
elif attr in ("is_banned", "is_contributor", "is_moderator", "is_subscriber"):
if c.user_is_loggedin:
check_func = getattr(thing, attr)
return bool(check_func(c.user))
return None
elif attr == "submit_text_html":
return safemarkdown(thing.submit_text)
else:
return ThingJsonTemplate.thing_attr(self, thing, attr)