本文整理汇总了Python中r2.lib.pages.things.wrap_links函数的典型用法代码示例。如果您正苦于以下问题:Python wrap_links函数的具体用法?Python wrap_links怎么用?Python wrap_links使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wrap_links函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_wrapped_link
def get_wrapped_link(self, url, link=None, wrapper=None):
try:
links = []
if link:
links = [link]
else:
sr = None if isinstance(c.site, FakeSubreddit) else c.site
try:
links = Link._by_url(url, sr)
except NotFound:
pass
if links:
kw = {}
if wrapper:
links = wrap_links(links, wrapper=wrapper)
else:
links = wrap_links(links)
links = list(links)
links = max(links, key=lambda x: x._score) if links else None
if not links and wrapper:
return wrapper(None)
return links
# note: even if _by_url successed or a link was passed in,
# it is possible link_listing.things is empty if the
# link(s) is/are members of a private reddit
# return the link with the highest score (if more than 1)
except:
# we don't want to return 500s in other people's pages.
import traceback
g.log.debug("FULLPATH: get_link error in buttons code")
g.log.debug(traceback.format_exc())
if wrapper:
return wrapper(None)
示例2: GET_depmod
def GET_depmod(self):
displayPane = PaneStack()
active_trials = {}
finished_trials = {}
juries = Jury.by_account(c.user)
trials = trial_info([j._thing2 for j in juries])
for j in juries:
defendant = j._thing2
if trials.get(defendant._fullname, False):
active_trials[defendant._fullname] = j._name
else:
finished_trials[defendant._fullname] = j._name
if active_trials:
fullnames = sorted(active_trials.keys(), reverse=True)
def my_wrap(thing):
w = Wrapped(thing)
w.hide_score = True
w.likes = None
w.trial_mode = True
w.render_class = LinkOnTrial
w.juryvote = active_trials[thing._fullname]
return w
listing = wrap_links(fullnames, wrapper=my_wrap)
displayPane.append(
InfoBar(strings.active_trials, extra_class="mellow"))
displayPane.append(listing)
if finished_trials:
fullnames = sorted(finished_trials.keys(), reverse=True)
listing = wrap_links(fullnames)
displayPane.append(
InfoBar(strings.finished_trials, extra_class="mellow"))
displayPane.append(listing)
displayPane.append(
InfoBar(
strings.more_info_link % dict(link="/help/deputies"),
extra_class="mellow"))
return Reddit(content=displayPane).render()
示例3: GET_edit_promo
def GET_edit_promo(self, link):
if not link or link.promoted is None:
return self.abort404()
rendered = wrap_links(link, wrapper=promote.sponsor_wrapper, skip=False)
form = PromoteLinkForm(link, rendered)
page = PromotePage('new_promo', content=form)
return page.render()
示例4: GET_submit
def GET_submit(self, url, title, then):
"""Submit form."""
if url and not request.get.get('resubmit'):
# check to see if the url has already been submitted
links = link_from_url(url)
if links and len(links) == 1:
return self.redirect(links[0].already_submitted_link)
elif links:
infotext = (strings.multiple_submitted
% links[0].resubmit_link())
res = BoringPage(_("seen it"),
content = wrap_links(links),
infotext = infotext).render()
return res
captcha = Captcha() if c.user.needs_captcha() else None
sr_names = (Subreddit.submit_sr_names(c.user) or
Subreddit.submit_sr_names(None))
return FormPage(_("submit"),
show_sidebar = True,
content=NewLink(url=url or '',
title=title or '',
subreddits = sr_names,
captcha=captcha,
then = then)).render()
示例5: GET_submit
def GET_submit(self, url, title, then):
"""Submit form."""
resubmit = request.get.get('resubmit')
if url and not resubmit:
# check to see if the url has already been submitted
links = link_from_url(url)
if links and len(links) == 1:
return self.redirect(links[0].already_submitted_link)
elif links:
infotext = (strings.multiple_submitted
% links[0].resubmit_link())
res = BoringPage(_("seen it"),
content = wrap_links(links),
infotext = infotext).render()
return res
if not c.user_is_loggedin:
raise UserRequiredException
if not (c.default_sr or c.site.can_submit(c.user)):
abort(403, "forbidden")
captcha = Captcha() if c.user.needs_captcha() else None
sr_names = (Subreddit.submit_sr_names(c.user) or
Subreddit.submit_sr_names(None))
return FormPage(_("submit"),
show_sidebar = True,
page_classes=['submit-page'],
content=NewLink(url=url or '',
title=title or '',
subreddits = sr_names,
captcha=captcha,
resubmit=resubmit,
then = then)).render()
示例6: query
def query(self):
if isinstance(c.site, DefaultSR):
if c.user_is_loggedin:
srlimit = Subreddit.DEFAULT_LIMIT
over18 = c.user.has_subscribed and c.over18
else:
srlimit = g.num_default_reddits
over18 = False
sr_ids = Subreddit.user_subreddits(c.user,
limit=srlimit,
over18=over18)
return normalized_hot(sr_ids)
elif isinstance(c.site, MultiReddit):
return normalized_hot(c.site.kept_sr_ids, obey_age_limit=False)
else:
if c.site.sticky_fullname:
link_list = [c.site.sticky_fullname]
wrapped = wrap_links(link_list,
wrapper=self.builder_wrapper,
keep_fn=self.keep_fn(),
skip=True)
# add all other items and decrement count if sticky is visible
if wrapped.things:
link_list += [l for l in c.site.get_links('hot', 'all')
if l != c.site.sticky_fullname]
if not self.after:
self.count -= 1
self.num += 1
return link_list
# no sticky or sticky hidden
return c.site.get_links('hot', 'all')
示例7: GET_edit_promo
def GET_edit_promo(self, link):
if not link or link.promoted is None:
return self.abort404()
rendered = wrap_links(link, skip=False)
form = PromoteLinkEdit(link, rendered)
page = PromotePage(title=_("edit sponsored link"), content=form, show_sidebar=False, extension_handling=False)
return page.render()
示例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: GET_toolbar
def GET_toolbar(self, link, url):
"""The visible toolbar, with voting buttons and all"""
if url:
url = demangle_url(url)
if link:
wrapped = wrap_links(link, wrapper=FrameToolbar, num=1)
elif url:
listing = hot_links_by_url_listing(url, sr=c.site, num=1, skip=True)
if listing.things:
wrapped = listing.things[0]
else:
wrapped = None
else:
return self.abort404()
res = None
if wrapped:
res = wrapped
elif url:
res = FrameToolbar(link=None, title=None, url=url, expanded=False)
if res:
return spaceCompress(res.render())
else:
return self.abort404()
示例10: rendered_link
def rendered_link(links, media, compress):
with c.user.safe_set_attr:
c.user.pref_compress = compress
c.user.pref_media = media
links = wrap_links(links, show_nums = True, num = 1)
delattr(c.user, 'pref_compress')
delattr(c.user, 'pref_media')
return links.render(style = "html")
示例11: GET_current_promos
def GET_current_promos(self):
render_list = list(wrap_links(get_promoted()))
for x in render_list:
if x.promote_until:
x.promote_expires = timetext(datetime.now(g.tz) - x.promote_until)
page = PromotePage('current_promos',
content = PromotedLinks(render_list))
return page.render()
示例12: rendered_link
def rendered_link(links, media, compress, stickied=False):
with c.user.safe_set_attr:
c.user.pref_compress = compress
c.user.pref_media = media
links = wrap_links(links, show_nums = True, num = 1)
for wrapped in links:
wrapped.stickied = stickied
delattr(c.user, 'pref_compress')
delattr(c.user, 'pref_media')
return links.render(style = "html")
示例13: GET_edit_promo
def GET_edit_promo(self, link):
if not link or link.promoted is None:
return self.abort404()
rendered = wrap_links(link, wrapper=promote.sponsor_wrapper, skip=False)
form = PromoteLinkForm(link=link, listing=rendered, timedeltatext="")
page = PromotePage("new_promo", content=form)
return page.render()
示例14: GET_toolbar
def GET_toolbar(self, link, url):
"""The visible toolbar, with voting buttons and all"""
if url:
url = demangle_url(url)
if link:
wrapped = wrap_links(link, wrapper=FrameToolbar, num=1)
else:
return self.abort404()
return spaceCompress(wrapped.render())
示例15: GET_edit_promo
def GET_edit_promo(self, link):
if link.promoted is None:
return self.abort404()
rendered = wrap_links(link)
timedeltatext = ''
if link.promote_until:
timedeltatext = timetext(link.promote_until - datetime.now(g.tz),
resultion=2)
form = PromoteLinkForm(link = link,
listing = rendered,
timedeltatext = timedeltatext)
page = PromotePage('new_promo', content = form)
return page.render()