当前位置: 首页>>代码示例>>Python>>正文


Python ApiObject.get_cached_object_hash方法代码示例

本文整理汇总了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)
开发者ID:abars,项目名称:illustbook,代码行数:32,代码来源:ShowEntry.py

示例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)
开发者ID:abars,项目名称:illustbook,代码行数:15,代码来源:ShowEntry.py

示例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
开发者ID:abars,项目名称:illustbook,代码行数:80,代码来源:RecentCommentCache.py


注:本文中的myapp.ApiObject.ApiObject.get_cached_object_hash方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。