本文整理汇总了Python中r2.lib.utils.UrlParser.path_add_subreddit方法的典型用法代码示例。如果您正苦于以下问题:Python UrlParser.path_add_subreddit方法的具体用法?Python UrlParser.path_add_subreddit怎么用?Python UrlParser.path_add_subreddit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类r2.lib.utils.UrlParser
的用法示例。
在下文中一共展示了UrlParser.path_add_subreddit方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_sr
# 需要导入模块: from r2.lib.utils import UrlParser [as 别名]
# 或者: from r2.lib.utils.UrlParser import path_add_subreddit [as 别名]
def add_sr(path, sr_path = True, nocname=False, force_hostname = False):
"""
Given a path (which may be a full-fledged url or a relative path),
parses the path and updates it to include the subreddit path
according to the rules set by its arguments:
* force_hostname: if True, force the url's hotname to be updated
even if it is already set in the path, and subject to the
c.cname/nocname combination. If false, the path will still
have its domain updated if no hostname is specified in the url.
* nocname: when updating the hostname, overrides the value of
c.cname to set the hotname to g.domain. The default behavior
is to set the hostname consistent with c.cname.
* sr_path: if a cname is not used for the domain, updates the
path to include c.site.path.
"""
u = UrlParser(path)
if sr_path and (nocname or not c.cname):
u.path_add_subreddit(c.site)
if not u.hostname or force_hostname:
u.hostname = get_domain(cname = (c.cname and not nocname),
subreddit = False)
if c.render_style == 'mobile':
u.set_extension('mobile')
return u.unparse()
示例2: add_sr
# 需要导入模块: from r2.lib.utils import UrlParser [as 别名]
# 或者: from r2.lib.utils.UrlParser import path_add_subreddit [as 别名]
def add_sr(
path, sr_path=True, nocname=False, force_hostname=False,
retain_extension=True, force_https=False):
"""
Given a path (which may be a full-fledged url or a relative path),
parses the path and updates it to include the subreddit path
according to the rules set by its arguments:
* sr_path: if a cname is not used for the domain, updates the
path to include c.site.path.
* nocname: when updating the hostname, overrides the value of
c.cname to set the hostname to g.domain. The default behavior
is to set the hostname consistent with c.cname.
* force_hostname: if True, force the url's hostname to be updated
even if it is already set in the path, and subject to the
c.cname/nocname combination. If false, the path will still
have its domain updated if no hostname is specified in the url.
* retain_extension: if True, sets the extention according to
c.render_style.
* force_https: force the URL scheme to https
For caching purposes: note that this function uses:
c.cname, c.render_style, c.site.name
"""
# don't do anything if it is just an anchor
if path.startswith(('#', 'javascript:')):
return path
u = UrlParser(path)
if sr_path and (nocname or not c.cname):
u.path_add_subreddit(c.site)
if not u.hostname or force_hostname:
if c.secure:
u.hostname = request.host
else:
u.hostname = get_domain(cname = (c.cname and not nocname),
subreddit = False)
if (c.secure and u.is_reddit_url()) or force_https:
u.scheme = "https"
if retain_extension:
if c.render_style == 'mobile':
u.set_extension('mobile')
elif c.render_style == 'compact':
u.set_extension('compact')
return u.unparse()
示例3: add_sr
# 需要导入模块: from r2.lib.utils import UrlParser [as 别名]
# 或者: from r2.lib.utils.UrlParser import path_add_subreddit [as 别名]
def add_sr(path, sr_path=True, nocname=False, force_hostname=False):
"""
Given a path (which may be a full-fledged url or a relative path),
parses the path and updates it to include the subreddit path
according to the rules set by its arguments:
* force_hostname: if True, force the url's hotname to be updated
even if it is already set in the path, and subject to the
c.cname/nocname combination. If false, the path will still
have its domain updated if no hostname is specified in the url.
* nocname: when updating the hostname, overrides the value of
c.cname to set the hotname to g.domain. The default behavior
is to set the hostname consistent with c.cname.
* sr_path: if a cname is not used for the domain, updates the
path to include c.site.path.
For caching purposes: note that this function uses:
c.cname, c.render_style, c.site.name
"""
# don't do anything if it is just an anchor
if path.startswith("#") or path.startswith("javascript:"):
return path
u = UrlParser(path)
if sr_path and (nocname or not c.cname):
u.path_add_subreddit(c.site)
if not u.hostname or force_hostname:
u.hostname = get_domain(cname=(c.cname and not nocname), subreddit=False)
if c.render_style == "mobile":
u.set_extension("mobile")
elif c.render_style == "compact":
u.set_extension("compact")
return u.unparse()