Beispiel #1
0
    def getFollowers(self, account = None):

        if account:
            return Account.gql("WHERE following = :1", account.key())
        elif self.account:
            return Account.gql("WHERE following = :1", self.account.key())
        else:
            return None
Beispiel #2
0
	def get(self):
		user = users.get_current_user()
		if user:
			account = Account.gql("WHERE userId = :1", user.user_id()).get()
			if account:
				self.redirect('/')
			else:
				self.redirect('/register')
		else:
			self.redirect(users.create_login_url(self.request.uri))
Beispiel #3
0
	def get(self):

		current_user = users.get_current_user()
		account = Account.gql("WHERE userId = :1", current_user.user_id()).get()
		
		newUsers = Account.gql("WHERE regDate > :1 ORDER BY regDate", account.lastSeen)

		account.put()
		
		# Template values, yay!
		template_values = {
			'tab': 'admin',
			'usernick': account.nickname,
			'is_admin': True,
			'newUserCount': newUsers.count(),
			'newUsers': newUsers
		}
		
		# We get the template path then show it
		path = os.path.join(os.path.dirname(__file__), '../views/admin.html')
		self.response.out.write(template.render(path, template_values))
        # I still haven't understood why we need to make the path...
Beispiel #4
0
	def get(self, nickname):

		account = Account.gql("WHERE nickname = :1", nickname).get()
		messages = Message.gql("WHERE author IN :1 ORDER BY date DESC LIMIT 10", account.following)

		template_values = {
			'title': nickname + '\'s feed',
			'link': 'http://pintme.appspot.com/user/' + nickname,
			'description': 'Personnal user feed for ' + nickname,
			'items': messages
		}

		# We get the template path then show it
		path = os.path.join(os.path.dirname(__file__), '../views/rss.xml')
		self.response.out.write(template.render(path, template_values))
Beispiel #5
0
	def get(self, nickname):
		
		# Get the users account using nickname
		called_user = Account.gql("WHERE nickname = :1", nickname).get()
		
		if called_user:						
			if called_user.avatar:
				self.response.headers['Content-Type'] = "image/jpg"
				data = memcache.get('avatar'+nickname)
				if data is None:
					data = called_user.avatar.data
					memcache.add('avatar'+nickname, data, 60)
				self.response.out.write(data)
				  
			else:
				self.response.headers['Content-Type'] = "image/gif"
				self.response.out.write(open('zoid.gif','rb').read())
		else:
			self.response.headers['Content-Type'] = "image/gif"
			self.response.out.write(open('zoid.gif','rb').read())
Beispiel #6
0
	def post(self):
		# Declaration: new Account
		# Query: nickname
		new_user = Account()
		nickname = self.request.get('nickname')
		
		if len(nickname) < 3:
			self.redirect('/register')
		
		# Query: nickname taken ?
		nick_taken = Account.gql("WHERE nickname = :1", nickname).get()

		if nick_taken:
			self.redirect('/register')
		
		else:
			# If not let's create the new user !
			new_user.userId = users.get_current_user().user_id()
			new_user.nickname = nickname
			new_user.put()
			
			self.redirect('/')
Beispiel #7
0
	def get(self):
		token = self.request.get('token')
		
		if token == '':
			self.redirect('/settings')

		user = users.get_current_user()
		account = Account.gql("WHERE userId = :1", user.user_id()).get()

		sg = SessionKeyGenerator(__lastfmApiKey__, __lastfmApiSecret__)
		session_key = sg.get_web_auth_session_key_with_token(token)
		
		lastfm = LastFm()
		lastfm.sessionKey = session_key
		lastfm.put()
		
		account.lastFm = lastfm.key()
		account.put()
		
		authedUser = get_authenticated_user(__lastfmApiKey__, __lastfmApiSecret__, session_key)
		lastfm.userName = authedUser.get_name()
		lastfm.put()
		
		self.redirect('/settings')
Beispiel #8
0
    def getFromNickname(self, nickname):

        nickAccount = Account.gql( "WHERE nickname = :1", nickname ).get()
        if nickAccount:
            self.account = nickAccount
Beispiel #9
0
    def getFromSession(self):

        user = users.get_current_user()
        if user:
            self.account = Account.gql("WHERE userId = :1", user.user_id()).get()