本文整理汇总了Python中myapp.ApiObject.ApiObject.get_cached_object_hash方法的典型用法代码示例。如果您正苦于以下问题:Python ApiObject.get_cached_object_hash方法的具体用法?Python ApiObject.get_cached_object_hash怎么用?Python ApiObject.get_cached_object_hash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类myapp.ApiObject.ApiObject
的用法示例。
在下文中一共展示了ApiObject.get_cached_object_hash方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: render_comment_list
# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_hash [as 别名]
def render_comment_list(req, all_threads_cached, host_url, bbs,
show_comment_form, logined, is_admin, user_name,
user):
edit_flag = False
show_ip = False
bbs_key = bbs.key()
#コメントとレスを先行して全て取得
entry_key_list = []
for thread in all_threads_cached:
if not thread:
continue
for entry in thread.cached_entry_key:
entry_key_list.append(entry)
entry_hash = ApiObject.get_cached_object_hash(entry_key_list)
res_hash = ShowEntry._get_entry_res(entry_hash)
#コメントをレンダリング
for thread in all_threads_cached:
if not thread:
continue
entry_list = []
for entry in thread.cached_entry_key:
one_entry = entry_hash[entry]
entry_list.append(one_entry)
thread.cached_render_comment = ShowEntry._render_comment_core(
req, host_url, bbs, thread, entry_list, edit_flag, bbs_key,
logined, show_comment_form, is_admin, user_name, user,
res_hash, show_ip)
示例2: _get_entry_res
# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_hash [as 别名]
def _get_entry_res(entry_list):
res_id_list = []
if (type(entry_list) == dict):
for com in entry_list:
for res in entry_list[com].res_list:
res_id_list.append(res)
else:
for com in entry_list:
for res in com.res_list:
res_id_list.append(res)
return ApiObject.get_cached_object_hash(res_id_list)
示例3: _get_entry_core
# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_hash [as 别名]
def _get_entry_core(bbs,display_n,key):
#コメントを取得
entry_query = db.Query(Entry,keys_only=True)
entry_query.order("-date");
entry_query.filter("del_flag =",BbsConst.ENTRY_EXIST)
entry_query.filter('bbs_key =', bbs)
entry_key_list=entry_query.fetch(display_n)
entry_list=ApiObject.get_cached_object_list(entry_key_list)
#コメントに紐付いたスレッドを取得
thread_key_list=[]
for entry in entry_list:
thread_key=Entry.thread_key.get_value_for_datastore(entry)
thread_key_list.append(thread_key)
thread_list=ApiObject.get_cached_object_hash(thread_key_list)
#コメントに紐付いたレスを取得
res_key_list=[]
res_to_entry={}
for entry in entry_list:
entry_key=entry.key()
res_n=len(entry.res_list)
for i in range(0,display_n):
no=res_n-1-i
if(no>=0):
res_key=entry.res_list[no]
res_to_entry[res_key]=entry
res_key_list.append(res_key)
res_list=ApiObject.get_cached_object_list(res_key_list)
#EntryとResでソートをかける
sort_list=[]
for entry in entry_list:
if(entry.create_date):
obj=(entry,entry.create_date,entry.editor)
sort_list.append(obj)
for res in res_list:
if(res.date):
obj=(res_to_entry[res.key()],res.date,res.editor)
sort_list.append(obj)
sort_list=sorted(sort_list, key=lambda temp: temp[1], reverse=True)
sort_list=sort_list[:display_n]
#出力する
entry_array=[]
for tp in sort_list:
#ソートした値を取得
entry=tp[0];
editor=tp[2];
#コメントのURLを計算するためにスレッドを取得
try:
thread_key=Entry.thread_key.get_value_for_datastore(entry)
except:
continue
thread=thread_list[thread_key]
if(not thread):
continue
thread_title=thread.title
#URLに使用するキーを決定
if(thread.short):
thread_short=thread.short
else:
thread_short=thread_key
#表示
mee={'short': str(bbs.short),
'bbs_key' : str(bbs.key()),
'thread_key':thread_short,
'entry_key': str(entry.key()),
'thread_title':thread_title,
'editor':editor,
'date':entry.date}
entry_array.append(mee)
memcache.add(key, entry_array, BbsConst.SIDEBAR_RECENT_ENTRY_CACHE_TIME)
return entry_array