本文整理汇总了Python中reddit_liveupdate.models.LiveUpdateStream.query方法的典型用法代码示例。如果您正苦于以下问题:Python LiveUpdateStream.query方法的具体用法?Python LiveUpdateStream.query怎么用?Python LiveUpdateStream.query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reddit_liveupdate.models.LiveUpdateStream
的用法示例。
在下文中一共展示了LiveUpdateStream.query方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GET_listing
# 需要导入模块: from reddit_liveupdate.models import LiveUpdateStream [as 别名]
# 或者: from reddit_liveupdate.models.LiveUpdateStream import query [as 别名]
def GET_listing(self, num, after, before, count):
reverse = False
if before:
reverse = True
after = before
query = LiveUpdateStream.query([c.liveupdate_event._id],
count=num, reverse=reverse)
if after:
query.column_start = after
builder = LiveUpdateBuilder(query=query, skip=True,
reverse=reverse, num=num,
count=count)
listing = pages.LiveUpdateListing(builder)
content = pages.LiveUpdateEvent(
event=c.liveupdate_event,
listing=listing.listing(),
)
# don't generate a url unless this is the main page of an event
websocket_url = None
if c.liveupdate_event.state == "live" and not after and not before:
websocket_url = websockets.make_url(
"/live/" + c.liveupdate_event._id, max_age=24 * 60 * 60)
return pages.LiveUpdatePage(
content=content,
websocket_url=websocket_url,
).render()
示例2: GET_listing
# 需要导入模块: from reddit_liveupdate.models import LiveUpdateStream [as 别名]
# 或者: from reddit_liveupdate.models.LiveUpdateStream import query [as 别名]
def GET_listing(self, num, after, before, count, is_embed):
reverse = False
if before:
reverse = True
after = before
query = LiveUpdateStream.query([c.liveupdate_event._id],
count=num, reverse=reverse)
if after:
query.column_start = after
builder = LiveUpdateBuilder(query=query, skip=True,
reverse=reverse, num=num,
count=count)
listing = pages.LiveUpdateListing(builder)
wrapped_listing = listing.listing()
content = pages.LiveUpdateEventPage(
event=c.liveupdate_event,
listing=wrapped_listing,
show_sidebar=not is_embed,
)
c.js_preload.set_wrapped(
"/live/" + c.liveupdate_event._id + "/about.json",
Wrapped(c.liveupdate_event),
)
c.js_preload.set_wrapped(
"/live/" + c.liveupdate_event._id + ".json",
wrapped_listing,
)
# don't generate a url unless this is the main page of an event
websocket_url = None
if c.liveupdate_event.state == "live" and not after and not before:
websocket_url = websockets.make_url(
"/live/" + c.liveupdate_event._id, max_age=24 * 60 * 60)
if not is_embed:
return pages.LiveUpdatePage(
content=content,
websocket_url=websocket_url,
page_classes=['liveupdate-event'],
).render()
else:
# ensure we're off the cookie domain before allowing embedding
if request.host != g.media_domain:
abort(404)
c.allow_framing = True
return pages.LiveUpdateEmbed(
content=content,
websocket_url=websocket_url,
page_classes=['liveupdate-event'],
).render()
示例3: GET_listing
# 需要导入模块: from reddit_liveupdate.models import LiveUpdateStream [as 别名]
# 或者: from reddit_liveupdate.models.LiveUpdateStream import query [as 别名]
def GET_listing(self, num, after, before, count, is_embed):
reverse = False
if before:
reverse = True
after = before
query = LiveUpdateStream.query([c.liveupdate_event._id],
count=num, reverse=reverse)
if after:
query.column_start = after
builder = LiveUpdateBuilder(query=query, skip=True,
reverse=reverse, num=num,
count=count)
listing = pages.LiveUpdateListing(builder)
content = pages.LiveUpdateEvent(
event=c.liveupdate_event,
listing=listing.listing(),
show_sidebar=not is_embed,
)
# don't generate a url unless this is the main page of an event
websocket_url = None
if c.liveupdate_event.state == "live" and not after and not before:
websocket_url = websockets.make_url(
"/live/" + c.liveupdate_event._id, max_age=24 * 60 * 60)
if not is_embed:
return pages.LiveUpdatePage(
content=content,
websocket_url=websocket_url,
).render()
else:
# embeds are always logged out and therefore safe for frames.
c.liveupdate_can_manage = False
c.liveupdate_can_edit = False
c.allow_framing = True
return pages.LiveUpdateEmbed(
content=content,
websocket_url=websocket_url,
).render()
示例4: GET_listing
# 需要导入模块: from reddit_liveupdate.models import LiveUpdateStream [as 别名]
# 或者: from reddit_liveupdate.models.LiveUpdateStream import query [as 别名]
def GET_listing(self, num, after, before, count, is_embed, style_sr):
"""Get a list of updates posted in this thread.
See also: [/api/live/*thread*/update](#POST_api_live_{thread}_update).
"""
reverse = False
if before:
reverse = True
after = before
query = LiveUpdateStream.query([c.liveupdate_event._id],
count=num, reverse=reverse)
if after:
query.column_start = after
builder = LiveUpdateBuilder(query=query, skip=True,
reverse=reverse, num=num,
count=count)
listing = pages.LiveUpdateListing(builder)
wrapped_listing = listing.listing()
if c.user_is_loggedin:
report_type = LiveUpdateReportsByAccount.get_report(
c.user, c.liveupdate_event)
else:
report_type = None
content = pages.LiveUpdateEventApp(
event=c.liveupdate_event,
listing=wrapped_listing,
show_sidebar=not is_embed,
report_type=report_type,
)
c.js_preload.set_wrapped(
"/live/" + c.liveupdate_event._id + "/about.json",
Wrapped(c.liveupdate_event),
)
c.js_preload.set_wrapped(
"/live/" + c.liveupdate_event._id + ".json",
wrapped_listing,
)
if not is_embed:
return pages.LiveUpdateEventAppPage(
content=content,
page_classes=['liveupdate-app'],
).render()
else:
# ensure we're off the cookie domain before allowing embedding
if request.host != g.media_domain:
abort(404)
c.allow_framing = True
# interstitial redirects and nsfw settings are funky on the media
# domain. just disable nsfw embeds.
if c.liveupdate_event.nsfw:
embed_page = pages.LiveUpdateEventEmbed(
content=pages.LiveUpdateNSFWEmbed(),
)
request.environ["usable_error_content"] = embed_page.render()
abort(403)
embed_page = pages.LiveUpdateEventEmbed(
content=content,
page_classes=['liveupdate-app'],
)
if style_sr and getattr(style_sr, "type", "private") != "private":
c.can_apply_styles = True
c.allow_styles = True
embed_page.subreddit_stylesheet_url = \
Reddit.get_subreddit_stylesheet_url(style_sr)
return embed_page.render()