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


Python ApiObject.get_cached_object_list方法代码示例

本文整理汇总了Python中myapp.ApiObject.ApiObject.get_cached_object_list方法的典型用法代码示例。如果您正苦于以下问题:Python ApiObject.get_cached_object_list方法的具体用法?Python ApiObject.get_cached_object_list怎么用?Python ApiObject.get_cached_object_list使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在myapp.ApiObject.ApiObject的用法示例。


在下文中一共展示了ApiObject.get_cached_object_list方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _get_related

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]
	def _get_related(bbs,thread,is_iphone,is_tablet):
		related_illust_cnt=6

		try:
			thread_query=ShowThread._get_related_query(bbs,thread)
			thread_query.filter('create_date > ',thread.create_date)
			thread_query.order('create_date')
			thread_after=thread_query.fetch(limit=related_illust_cnt)
		except:
			thread_after=[]

		try:
			thread_query=ShowThread._get_related_query(bbs,thread)
			thread_query.filter('create_date < ',thread.create_date)
			thread_query.order('-create_date')
			thread_before=thread_query.fetch(limit=related_illust_cnt*2-len(thread_after))
		except:
			thread_before=[]

		all_threads=[]
		if(thread_after):
			thread_after.reverse()

		for after in thread_after:
			all_threads.append(after)
		for before in thread_before:
			all_threads.append(before)

		if(not is_iphone and not is_tablet):
			while(len(all_threads)>related_illust_cnt+1):
				no=int(random.random()*len(all_threads))
				all_threads.remove(all_threads[no])

		all_threads_cached=ApiObject.get_cached_object_list(all_threads)
		return all_threads_cached
开发者ID:abars,项目名称:illustbook,代码行数:37,代码来源:ShowThread.py

示例2: user_get_home_timeline

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]
	def user_get_home_timeline(req,user_id):
		#そのユーザのフォローしているユーザのタイムライン

		bookmark=ApiObject.get_bookmark_of_user_id(user_id)
		if(bookmark==None):
			return []
		feed_key_list=ApiObject.offset_and_limit(req,bookmark.stack_feed_list)
		feed_list=ApiObject.get_cached_object_list(feed_key_list)
		dic=ApiObject.create_feed_object_list(req,feed_list,feed_key_list)
		return dic
开发者ID:abars,项目名称:illustbook,代码行数:12,代码来源:ApiUser.py

示例3: user_get_bbs_list

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]
	def user_get_bbs_list(req,user_id):
		query=db.Query(Bbs,keys_only=True)
		query=query.filter("user_id =",user_id).order("-create_date")
		bbs_key_list=query.fetch(limit=1000,offset=0)
		dic=[]
		bbs_list=ApiObject.get_cached_object_list(bbs_key_list)
		for bbs in bbs_list:
			if(bbs.del_flag):
				continue
			one_dic=ApiObject.create_bbs_object(req,bbs)
			if(not one_dic):
				continue
			dic.append(one_dic)
		return dic;
开发者ID:abars,项目名称:illustbook,代码行数:16,代码来源:ApiUser.py

示例4: _bookmark_get_bbs_list_core

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]
	def _bookmark_get_bbs_list_core(req,user_id,mute):
		bookmark=ApiObject.get_bookmark_of_user_id(user_id)
		if(bookmark==None):
			return []
		dic=[]
		if(mute):
			bbs_key_list=bookmark.get_mute_bbs_list()
		else:
			bbs_key_list=bookmark.bbs_key_list
		bbs_list=ApiObject.get_cached_object_list(bbs_key_list)
		for bbs in bbs_list:
			one_dic=ApiObject.create_bbs_object(req,bbs)
			if(one_dic):
				dic.append(one_dic)
		
		ApiBookmark.add_removed_bbs_to_dic(req,dic,bbs_key_list)

		return dic
开发者ID:abars,项目名称:illustbook,代码行数:20,代码来源:ApiBookmark.py

示例5: feed_get_bbs_list

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]
	def feed_get_bbs_list(req,order,offset,limit):
		#最大取得数
		if(limit>100):
			limit=100

		#キャッシュが有効かどうか
		cache_enable=0
		if(offset==0):
			cache_enable=1
		
		#キャッシュ取得
		cache_id=BbsConst.OBJECT_CACHE_HEADER+BbsConst.OBJECT_BBS_RANKING_HEADER
		if(cache_enable):
			data=memcache.get(cache_id)
		else:
			data=None
		if(data and cache_enable):
			dic=[]
			for bbs in data:
				dic.append(ApiObject.create_bbs_object(req,bbs))
			return dic
		
		#BBS一覧取得
		rank=Ranking.get_by_key_name(BbsConst.THREAD_RANKING_KEY_NAME)
		if(rank==None):
			rank=Ranking.get_or_insert(BbsConst.THREAD_RANKING_KEY_NAME)
		bbs_list=rank.get_bbs_rank(offset,limit)
		
		#リスト作成
		bbs_list=ApiObject.get_cached_object_list(bbs_list)

		#キャッシュに乗せる
		if(cache_enable):
			memcache.set(cache_id,bbs_list,BbsConst.TOPPAGE_FEED_CACHE_TIME)

		#オブジェクト作成
		dic=[]
		for bbs in bbs_list:
			dic.append(ApiObject.create_bbs_object(req,bbs))
		
		return dic
开发者ID:abars,项目名称:illustbook,代码行数:43,代码来源:ApiFeed.py

示例6: get

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]
	def get(self,bbs_key,thread_key):
		SetUtf8.set()

		#ホストチェック
		if SpamCheck.is_deny(self.request):
			self.response.set_status(401)
			return

		#英語版かどうか
		is_english=CssDesign.is_english(self)

		#BBSを取得
		bbs_key=MappingId.mapping(bbs_key)
		bbs=ApiObject.get_cached_object(bbs_key)
		if(bbs == None):
			Alert.alert_msg_notfound(self)
			return

		#BBSが削除されていた場合
		if(bbs.del_flag) :
			if(is_english):
				Alert.alert_msg_with_write(self,"This bbs was deleted.")
			else:
				Alert.alert_msg_with_write(self,"このBBSは削除されました。")
			return
		
		#ページ番号を取得
		col_num = 10
		page = 1
		if self.request.get("page"):
			page = int(self.request.get("page"))
			if page < 1:
				page=1
		
		#メンテナンス画面
		is_maintenance=0
		if(MaintenanceCheck.is_appengine_maintenance()):
			is_maintenance=1

		#オーダー取得
		order="update"
		if(bbs.default_comment_order==1):
			order="new"
		if self.request.get("order"):
			order=self.request.get("order")
		
		#スレッド取得
		thread=ShowThread.get_thread(bbs,thread_key)
		if(thread == None):
			Alert.alert_msg_notfound(self)
			return

		#コメント数を更新
		if(bbs.page_comment_n):
			col_num=bbs.page_comment_n
		if(self.request.get("limit")):
			col_num=int(self.request.get("limit"))

		#コメントの一覧を取得
		query=ShowThread.get_comment_query(thread,order)
		entry_num = query.count()
		if(entry_num==0):
			com_list_ = []
		else:
			com_list_ = query.fetch(limit=col_num, offset=(page-1)*col_num)
		
		#検索
		search=""
		if(self.request.get("search")):
			search=self.request.get("search")
			query=""+search+' thread_key:"'+str(thread.key())+'"'
			com_list_=SearchThread.search(query,page,col_num,BbsConst.SEARCH_ENTRY_INDEX_NAME)
		
		#実体への変換
		com_list_=ApiObject.get_cached_object_list(com_list_)

		#現在のスレッドへのURLを取得
		host_url=MappingId.mapping_host_with_scheme(self.request)+"/"
		
		#編集モードか
		user = users.get_current_user()
		edit_flag = 0
		if(not OwnerCheck.check(bbs,user)):
			edit_flag = 1

		logined=0
		if(user):
			logined=1

		owner=user
		if(OwnerCheck.check(bbs,user)):
			owner=None

		admin_user=OwnerCheck.is_admin(user)

		#ページリンクを作成
		page_url_base = MappingId.get_usr_url(host_url,bbs)+thread_key+'.html?page='
		page_list=ShowThread.create_page_list(page,entry_num,col_num)
		
		#掲示板のデザインを取得
#.........这里部分代码省略.........
开发者ID:abars,项目名称:illustbook,代码行数:103,代码来源:ShowThread.py

示例7: get

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [as 别名]

#.........这里部分代码省略.........
		#ログインユーザを取得
		user = users.get_current_user()

		logined=0
		if(user):
			logined=1
		
		owner=user
		if(OwnerCheck.check(bbs,user)):
			owner=None
		
		#サイドバーコメントを取得
		side_comment=RecentCommentCache.get_entry(bbs)
		side_thread=RecentCommentCache.get_thread(bbs)
		
		#カテゴリ一覧を取得
		category_list=None
		if(bbs.category_list):
			if(bbs.category_list!=""):
				category_list=CategoryList.get_category_list(bbs) #bbs.category_list.split(",")

		#ページデザインを取得
		css_key=self.request.get("css_key")
		design=CssDesign.get_design_object(self,bbs,host_url,0)

		#サイドバー一覧を作成
		sidebar_list=ShowBbs.get_sidebar(bbs,category_list,side_comment,side_thread)

		#新規スレッドを作成できるか
		can_create_thread=ShowBbs.get_can_create_thread(bbs,user,logined)
		can_create_new_image=ShowBbs.get_can_create_new_image(bbs,owner)

		#スレッドを全て取得
		all_threads_cached=ApiObject.get_cached_object_list(all_threads)
		
		#コメントフォームを表示するか
		show_comment_form=1
		if(bbs.comment_login_require and not(owner)):
			show_comment_form=0

		#フルコメントデバッグ
		if(self.request.get("full_comment")):
			bbs.enable_full_comment=1

		#フルフラット表示をデフォルト化
		if(bbs.bbs_mode==BbsConst.BBS_MODE_NO_IMAGE):
			bbs.enable_full_flat=0
			bbs.enable_full_comment=0
		else:
			bbs.enable_full_flat=1
			#bbs.enable_full_comment=1 #デフォルト化を止める

		#コメントを全て取得
		#user_name=""
		user_name=ShowEntry.get_user_name(user)
		if(bbs.enable_full_comment):
			admin_user=OwnerCheck.is_admin(user)
			ShowEntry.render_comment_list(self,all_threads_cached,host_url,bbs,show_comment_form,logined,admin_user,user_name,user)

		#デザインの編集ができるか
		can_edit_design=False
		is_admin=OwnerCheck.is_admin(user)
		if(owner or (is_admin and bbs.bbs_mode==BbsConst.BBS_MODE_EVERYONE)):
			can_edit_design=True

		#infinite_scrollを使用するかどうか
开发者ID:,项目名称:,代码行数:70,代码来源:

示例8: _get_entry_core

# 需要导入模块: from myapp.ApiObject import ApiObject [as 别名]
# 或者: from myapp.ApiObject.ApiObject import get_cached_object_list [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_list方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。