コード例 #1
0
ファイル: components.py プロジェクト: guardian/gdn-galleries
	def get(self, country_code="us", entries="5"):
		template = jinja_environment.get_template("most-popular.html")

		cache_key = "ophan_list_{0}".format(country_code)

		ophan_list_data = memcache.get(cache_key)

		if not ophan_list_data:
			ophan_list_data = ophan.popular_by_country(country_code=country_code)
			memcache.set(cache_key, ophan_list_data, 60)

		content_list = []

		if ophan_list_data:
			ophan_list = json.loads(ophan_list_data)
			content_list = [content_api.content_id(result['url']) for result in ophan_list]
			content_list = [content_api.read(path, params={"show-fields" : "headline,thumbnail"}) for path in content_list]
			content_list = [json.loads(result) for result in content_list if result]
			content_list = [result["response"]["content"] for result in content_list if content_api.response_ok(result)]
			content_list = content_list[0:int(entries)]

		country_name_lookup = {
			"us" : "in the US",
			"au" : "in Australia",
		}

		data ={
			"most_popular" : content_list,
			"component_title" : "Most popular {0}".format(country_name_lookup.get(country_code, "")),
		}

		headers.set_cors_headers(self.response)
		self.response.out.write(template.render(data))
コード例 #2
0
ファイル: components.py プロジェクト: guardian/gdn-galleries
	def get(self, entries="5"):
		template = jinja_environment.get_template("most-popular.html")

		cache_key = "ophan_list_popular"

		ophan_list_data = memcache.get(cache_key)

		if not ophan_list_data:
			ophan_list_data = ophan.popular()
			memcache.set(cache_key, ophan_list_data, 60)

		content_list = []

		if ophan_list_data:
			ophan_list = json.loads(ophan_list_data)
			content_list = [content_api.content_id(result['url']) for result in ophan_list]
			content_list = [content_api.read(path, params={"show-fields" : "headline,thumbnail"}) for path in content_list]
			content_list = [json.loads(result) for result in content_list if result]
			content_list = [result["response"]["content"] for result in content_list if content_api.response_ok(result)]
			content_list = content_list[0:int(entries)]

		data ={
			"most_popular" : content_list,
			"component_title" : "Most popular",
		}

		headers.set_cors_headers(self.response)
		self.response.out.write(template.render(data))
コード例 #3
0
def resolve_content(url):
	params = {'show-fields' : 'headline,thumbnail,trailText'}

	result = content_api.read(content_api.content_id(url), params)

	if result:
		data = json.loads(result)
		return data.get('response', {}).get('content', {})
	return None
コード例 #4
0
def resolve_content(url):
    params = {'show-fields': 'headline,thumbnail,trailText'}

    result = content_api.read(content_api.content_id(url), params)

    if result:
        data = json.loads(result)
        return data.get('response', {}).get('content', {})
    return None