本文整理汇总了Python中r2.lib.pages.things.wrap_links函数的典型用法代码示例。如果您正苦于以下问题:Python wrap_links函数的具体用法?Python wrap_links怎么用?Python wrap_links使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wrap_links函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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)
开发者ID:nickdevereaux,项目名称:reddit,代码行数:35,代码来源:buttons.py
示例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()
开发者ID:szimpatikus,项目名称:szimpatikus.hu,代码行数:48,代码来源:front.py
示例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()
开发者ID:AD42,项目名称:reddit,代码行数:7,代码来源:promotecontroller.py
示例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()
开发者ID:JediWatchman,项目名称:reddit,代码行数:26,代码来源:front.py
示例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()
开发者ID:Falmarri,项目名称:reddit,代码行数:35,代码来源:front.py
示例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')
开发者ID:aburan28,项目名称:reddit,代码行数:34,代码来源:listingcontroller.py
示例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()
开发者ID:DorianGray,项目名称:reddit,代码行数:7,代码来源:promotecontroller.py
示例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()
开发者ID:AD42,项目名称:reddit,代码行数:31,代码来源:toolbar.py
示例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()
开发者ID:ChooseGoose,项目名称:reddit,代码行数:26,代码来源:toolbar.py
示例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")
开发者ID:BenHalberstam,项目名称:reddit,代码行数:8,代码来源:cssfilter.py
示例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()
开发者ID:rajbot,项目名称:tikical,代码行数:9,代码来源:promotecontroller.py
示例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")
开发者ID:AlbertoPeon,项目名称:reddit,代码行数:10,代码来源:cssfilter.py
示例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()
开发者ID:numo16,项目名称:reddit,代码行数:10,代码来源:promotecontroller.py
示例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())
开发者ID:Acceto,项目名称:reddit,代码行数:11,代码来源:toolbar.py
示例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()
开发者ID:kevinrose,项目名称:diggit,代码行数:15,代码来源:promotecontroller.py
示例16: GET_edit_promo
def GET_edit_promo(self, link):
sr = Subreddit._byID(link.sr_id)
listing = wrap_links(link)
timedeltatext = ''
if link.promote_until:
timedeltatext = timetext(link.promote_until - datetime.now(g.tz),
resultion=2)
form = PromoteLinkForm(sr = sr, link = link,
listing = listing,
timedeltatext = timedeltatext)
page = PromotePage('new_promo', content = form)
return page.render()
开发者ID:rajbot,项目名称:tikical,代码行数:15,代码来源:promotecontroller.py
示例17: GET_trending
def GET_trending(self):
"""
Return a list of trending items.
"""
if not g.partner_api_enable_rss:
abort(403)
if not c.extension or c.extension.lower() not in RSS_TYPES:
abort(400, 'Only supports RSS and XML.')
# TODO(wting#CHAN-158|2016-08-26): The number 5000 was chosen based on
# emperical testing to increase link diversity timing out.
num_of_links = 5000
listing = wrap_links(all_sr.get_all_hot_ids(), num=num_of_links)
return MinimalRss(_content=listing).render(style='xmllite')
开发者ID:zeantsoi,项目名称:reddit,代码行数:16,代码来源:partner_api.py
示例18: make_requested_ad
def make_requested_ad(self):
try:
link = Link._by_fullname(self.requested_ad, data=True)
except NotFound:
self.abort404()
if not (link.promoted and (c.user_is_sponsor or c.user_is_loggedin and link.author_id == c.user._id)):
self.abort403()
if not promote.is_live_on_sr(link, c.site):
self.abort403()
res = wrap_links([link._fullname], wrapper=self.builder_wrapper, skip=False)
res.parent_name = "promoted"
if res.things:
return res
开发者ID:vladimirus,项目名称:reddit,代码行数:16,代码来源:listingcontroller.py
示例19: _things
def _things(self, things, action, *a, **kw):
"""
function for inserting/replacing things in listings.
"""
things = tup(things)
if not all(isinstance(t, Wrapped) for t in things):
wrap = kw.pop('wrap', Wrapped)
things = wrap_links(things, wrapper = wrap)
data = [self.process_rendered(t.render()) for t in things]
if kw:
for d in data:
if d.has_key('data'):
d['data'].update(kw)
self._data['things'] = data
return data
开发者ID:Agrajagd,项目名称:reddit,代码行数:17,代码来源:jsonresponse.py
示例20: _things
def _things(self, things, action, *a, **kw):
"""
function for inserting/replacing things in listings.
"""
things = tup(things)
if not all(isinstance(t, Wrapped) for t in things):
wrap = kw.pop("wrap", Wrapped)
things = wrap_links(things, wrapper=wrap)
data = [t.render() for t in things]
if kw:
for d in data:
if d.has_key("data"):
d["data"].update(kw)
self._data["things"] = data
return data
开发者ID:pastepotpete,项目名称:reddit,代码行数:17,代码来源:jsonresponse.py
注:本文中的r2.lib.pages.things.wrap_links函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论