本文整理汇总了Python中r2.models.link.Link._by_fullname方法的典型用法代码示例。如果您正苦于以下问题:Python Link._by_fullname方法的具体用法?Python Link._by_fullname怎么用?Python Link._by_fullname使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类r2.models.link.Link
的用法示例。
在下文中一共展示了Link._by_fullname方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: calc_rising
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def calc_rising():
#As far as I can tell this can only ever return a series of 0's as that is what is hard coded in... In which case nothing should ever be rising unless I explicitly make it so.
sr_count = count.get_link_counts()
link_count = dict((k, v[0]) for k,v in sr_count.iteritems())
link_names = Link._by_fullname(sr_count.keys(), data=True)
#max is half the average of the top 10 counts
counts = link_count.values()
counts.sort(reverse=True)
maxcount = sum(counts[:10]) / 2.*min(10,len(counts))
#prune the list
print link_count
print link_names
print maxcount
rising = [(n, link_names[n].sr_id)
for n in link_names.keys() if False or link_count[n] < maxcount]
print rising
cur_time = datetime.now(g.tz)
def score(pair):
name = pair[0]
link = link_names[name]
hours = (cur_time - link._date).seconds / 3600 + 1
return float(link._ups) / (max(link_count[name], 1) * hours)
def r(x):
return 1 if x > 0 else -1 if x < 0 else 0
rising.sort(lambda x, y: r(score(y) - score(x)))
return rising
示例2: calc_rising
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def calc_rising():
sr_count = count.get_link_counts()
link_count = dict((k, v[0]) for k,v in sr_count.iteritems())
link_names = Link._by_fullname(sr_count.keys(), data=True)
#max is half the average of the top 10 counts
counts = link_count.values()
counts.sort(reverse=True)
maxcount = sum(counts[:10]) / 20
#prune the list
rising = [(n, link_names[n].sr_id)
for n in link_names.keys() if link_count[n] < maxcount]
cur_time = datetime.now(g.tz)
def score(pair):
name = pair[0]
link = link_names[name]
hours = (cur_time - link._date).seconds / 3600 + 1
return float(link._ups) / (max(link_count[name], 1) * hours)
def r(x):
return 1 if x > 0 else -1 if x < 0 else 0
rising.sort(lambda x, y: r(score(y) - score(x)))
return rising
示例3: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def GET_document(self):
try:
#no cookies on errors
c.cookies.clear()
code = request.GET.get('code', '')
srname = request.GET.get('srname', '')
takedown = request.GET.get('takedown', "")
if srname:
c.site = Subreddit._by_name(srname)
if c.render_style not in self.allowed_render_styles:
return str(code)
elif takedown and code == '404':
link = Link._by_fullname(takedown)
return pages.TakedownPage(link).render()
elif code == '403':
return self.send403()
elif code == '500':
return redditbroke % rand_strings.sadmessages
elif code == '503':
c.response.status_code = 503
c.response.headers['Retry-After'] = 1
c.response.content = toofast
return c.response
elif code == '304':
if request.GET.has_key('x-sup-id'):
c.response.headers['x-sup-id'] = request.GET.get('x-sup-id')
return c.response
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例4: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
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)
示例5: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
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 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})
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()
return redditbroke % (failien_url, rand_strings.sadmessages % randmin)
elif code == 503:
return self.send503()
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例6: process_link
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def process_link(msg):
fname = msg.body
link = Link._by_fullname(msg.body, data=True)
try:
TimeoutFunction(_set_media, 30)(link)
except TimeoutFunctionException:
print "Timed out on %s" % fname
except KeyboardInterrupt:
raise
except:
print "Error fetching %s" % fname
print traceback.format_exc()
示例7: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
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', "")
if srname:
c.site = Subreddit._by_name(srname)
if c.render_style not in self.allowed_render_styles:
if code not in (204, 304):
c.response.content = str(code)
c.response.status_code = code
return c.response
elif c.render_style in extensions.API_TYPES:
data = request.environ.get('extra_error_data', {'error': code})
c.response.content = websafe_json(json.dumps(data))
return c.response
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': rand.choice(self.admins)}
failien_name = 'youbrokeit%d.png' % rand.randint(1, NUM_FAILIENS)
failien_url = static(failien_name)
return redditbroke % (failien_url, rand_strings.sadmessages % randmin)
elif code == 503:
return self.send503()
elif code == 304:
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:
c.response.headers['x-sup-id'] = x_sup_id
return c.response
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例8: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
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', "")
if srname:
c.site = Subreddit._by_name(srname)
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})
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()
return redditbroke % (failien_url, rand_strings.sadmessages % randmin)
elif code == 503:
return self.send503()
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例9: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def GET_document(self):
try:
# 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', "")
if srname:
c.site = Subsciteit._by_name(srname)
if c.render_style not in self.allowed_render_styles:
if code not in (204, 304):
c.response.content = str(code)
return c.response
elif c.render_style == "api":
c.response.content = "{error: %s}" % code
return c.response
elif takedown and code == 404:
link = Link._by_fullname(takedown)
return pages.TakedownPage(link).render()
elif code == 403:
return self.send403()
elif code == 500:
randmin = {'admin': rand.choice(self.admins)}
failien_name = 'youbrokeit%d.png' % rand.randint(1, NUM_FAILIENS)
failien_url = static(failien_name)
return sciteitbroke % (failien_url, rand_strings.sadmessages % randmin)
elif code == 503:
return self.send503()
elif code == 304:
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:
c.response.headers['x-sup-id'] = x_sup_id
return c.response
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例10: calc_rising
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def calc_rising():
link_counts = count.get_link_counts()
links = Link._by_fullname(link_counts.keys(), data=True)
def score(link):
count = link_counts[link._fullname][0]
return float(link._ups) / max(count, 1)
# build the rising list, excluding items having 1 or less upvotes
rising = []
for link in links.values():
if link._ups > 1:
rising.append((link._fullname, score(link), link.sr_id))
# return rising sorted by score
return sorted(rising, key=lambda x: x[1], reverse=True)
示例11: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def GET_document(self):
try:
# 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", "")
if srname:
c.site = Subreddit._by_name(srname)
if c.render_style not in self.allowed_render_styles:
if code not in (204, 304):
c.response.content = str(code)
return c.response
elif c.render_style == "api":
c.response.content = "{error: %s}" % code
return c.response
elif takedown and code == 404:
link = Link._by_fullname(takedown)
return pages.TakedownPage(link).render()
elif code == 403:
return self.send403()
elif code == 500:
return redditbroke % (rand.randint(1, NUM_FAILIENS), rand_strings.sadmessages)
elif code == 503:
return self.send503()
elif code == 304:
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:
c.response.headers["x-sup-id"] = x_sup_id
return c.response
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例12: GET_document
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def GET_document(self):
try:
# 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', "")
if srname:
c.site = Subreddit._by_name(srname)
if c.render_style not in self.allowed_render_styles:
c.response.content = str(int(code))
return c.response
elif c.render_style == "api":
c.response.content = "{error: %s}" % code
return c.response
elif takedown and code == '404':
link = Link._by_fullname(takedown)
return pages.TakedownPage(link).render()
elif code == '403':
return self.send403()
elif code == '500':
return redditbroke % (rand.randint(1,NUM_FAILIENS), rand_strings.sadmessages)
elif code == '503':
return self.send503()
elif code == '304':
if request.GET.has_key('x-sup-id'):
c.response.headers['x-sup-id'] = request.GET.get('x-sup-id')
return c.response
elif c.site:
return self.send404()
else:
return "page not found"
except:
return handle_awful_failure("something really bad just happened.")
示例13: process_message
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def process_message(msg):
fname = msg.body
link = Link._by_fullname(fname, data=True)
extract_keywords(link)
示例14: _process_link
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def _process_link(fname):
link = Link._by_fullname(fname, data=True)
set_media(link)
示例15: _process_link
# 需要导入模块: from r2.models.link import Link [as 别名]
# 或者: from r2.models.link.Link import _by_fullname [as 别名]
def _process_link(fname):
link = Link._by_fullname(fname, data=True, return_dict=False)
set_media(link)