Ejemplo n.º 1
0
		def __build_profile_data():
			order 	= get('order', 'created').lower()
			page 	= self.request.get_range('profiles_page', min_value=1, default=1)
			# Allow page numbers to be more natural
			items_per_page = self.request.get_range('profiles_items', min_value=1,
											max_value=25, default=10)
			offset = ((page - 1) * items_per_page)
			last_page = True

			# Orders the profiles most recently created first.
			query = Profile.all()
			query.filter('author =', adata)
			if not page_admin:
				query.filter('public =', True)
			if order == 'alpha':
				query.order('name')
			else:
				query.order('-created')
			profiles = query.fetch((items_per_page + 1), offset)

			# Since each page is 6 items long if there are 7 items then we
			# know that there is at least one more page.
			if len(profiles) > items_per_page:
				last_page = False
				profiles.pop()
				
			@framework.memoize(sterile_url, 'profile_listing', refresh=refresh_cache)
			def fetch():
				return profiles
			
			return {'profiles':fetch(), 'page':page, 'last_page':last_page}
Ejemplo n.º 2
0
	def get(self):
		user = utils.get_current_user()
		sort = self.request.get('sort', 'time')
		page = self.request.get_range('page', min_value=1, default=1)
		items_per_page = self.request.get_range('items', min_value=1,
												max_value=25, default=10)
		offset = ((page - 1) * items_per_page)
		last_page = True

		link_template = '<a href="%s">%s</a>'
		sort_links = []
		sort_links.append(link_template % (self.filter_args(['sort', 'page'], sort='time'), 'Time'))
		sort_links.append(link_template % (self.filter_args(['sort', 'page'], sort='words'), 'Word Count'))
		for letter in string.ascii_uppercase:
			sort_links.append(link_template % (self.filter_args(['sort', 'page'], sort=letter.lower()), letter))

		profiles = []
		query = Profile.all()
		query.filter('public =', True)
		if sort == 'time':
			query.order('-created')
		elif sort == 'words':
			query.order('-word_count')
		else:
			query.filter('unix_name >', sort)
			query.filter('unix_name <', sort+u"\ufffd")

		profiles = query.fetch((items_per_page + 1), offset)
		if len(profiles) > items_per_page:
			last_page = False
			profiles.pop()

		self.render(['discover', 'discoverprofile'], locals())
Ejemplo n.º 3
0
		def __fetch_feed_data():
			# Orders the profiles most recently created first.
			q = Profile.all()
			q.filter('public =', True)
			q.order('-created')

			return q.fetch(12)
Ejemplo n.º 4
0
	def get(self):
		query = Profile.all()
		query.filter('public =', True)
		query.order('-created')
		recent_profiles = query.fetch(5)

		query = World.all()
		query.filter('public =', True)
		query.order('-created')
		recent_worlds = query.fetch(5)

		self.render(['index', 'indexdiscover'], locals())
Ejemplo n.º 5
0
		def __fetch_latest_profiles():
			query = Profile.all()
			query.filter('author =', self.udata)
			query.order('-created')
			return query.fetch(5)