def boredRecommend(user_id, num=DEF_REC_NUM): recommendations = gae_cache.cache_get(user_id + 'boredrmd') if recommendations: return recommendations expertise = ExUserInfo.gql('WHERE user_id = :1', user_id).get().expertise diff_expertise = set(data_models.EXPERTISES.keys()) diff_expertise.difference_update(set(expertise)) if not diff_expertise: return None query1 = URLStorage.gql('WHERE topic IN :1', list(diff_expertise)) # url_recs = [item for item in query1] # logging.info('number of bored rmds: ' + str(len(url_recs))) # li = [random.randint(0, len(url_recs)-1) for i in range(2*num)] query2 = Rating.gql('WHERE user_id = :1', user_id) rated = [item.url for item in query2] recommendations = [] for url_rec in query1: if url_rec.url not in rated: recommendations.append(url_rec) if len(recommendations) >= num: break gae_cache.cache_put(user_id + 'boredrmd', recommendations) return recommendations
def boredRecommend(user_id, num = DEF_REC_NUM): recommendations = gae_cache.cache_get(user_id + 'boredrmd') if recommendations: return recommendations expertise = ExUserInfo.gql('WHERE user_id = :1', user_id).get().expertise diff_expertise = set(data_models.EXPERTISES.keys()) diff_expertise.difference_update(set(expertise)) if not diff_expertise: return None query1 = URLStorage.gql('WHERE topic IN :1', list(diff_expertise)) # url_recs = [item for item in query1] # logging.info('number of bored rmds: ' + str(len(url_recs))) # li = [random.randint(0, len(url_recs)-1) for i in range(2*num)] query2 = Rating.gql('WHERE user_id = :1', user_id) rated = [item.url for item in query2] recommendations = [] for url_rec in query1: if url_rec.url not in rated: recommendations.append(url_rec) if len(recommendations) >= num: break gae_cache.cache_put(user_id+'boredrmd', recommendations) return recommendations
def post(self): cw_profile = ExUserInfo.gql('WHERE user_id = :1', self.user.user_id).get() self.user.firstname = self.request.get('firstname').capitalize() self.user.lastname = self.request.get('lastname').capitalize() self.user.realname = self.user.firstname + ' ' + self.user.lastname # # # cw_profile.email = self.request.get('email') cw_profile.website = self.request.get('website') cw_profile.location = self.request.get('location') cw_profile.expertise = self.request.get_all('expertise') photo = self.request.get('photo') if photo: if conf.WEB_SERVER == 'http://credibleweb.appspot.com': photo = images.resize(photo, 100, 100) cw_profile.photo = db.Blob(photo) self.user.picture = '/img?img_id=%s' % cw_profile.key() self.user.put() cw_profile.put() # retrieve social network profiles fb_profile = None if self.user.facebook_id: fb_profile = FacebookProfile.gql('WHERE facebook_id = :1', self.user.facebook_id).get() tw_profile = None if self.user.twitter_id: tw_profile = TwitterProfile.gql('WHERE twitter_id = :1', self.user.twitter_id).get() self.render('profile.html', cw_profile = cw_profile, fb_profile = fb_profile, tw_profile = tw_profile, success = True)
def get(self): cw_profile = ExUserInfo.gql('WHERE user_id = :1', self.user.user_id).get() fb_profile = None if self.user.facebook_id: fb_profile = FacebookProfile.gql('WHERE facebook_id = :1', self.user.facebook_id).get() tw_profile = None if self.user.twitter_id: tw_profile = TwitterProfile.gql('WHERE twitter_id = :1', self.user.twitter_id).get() self.render('profile.html', cw_profile = cw_profile, fb_profile = fb_profile, tw_profile = tw_profile, success = False)
def get(self, id): m_user = User.gql('WHERE user_id = :1', id).get() cw_profile = ExUserInfo.gql('WHERE user_id = :1', m_user.user_id).get() fb_profile = None if m_user.facebook_id: fb_profile = FacebookProfile.gql('WHERE facebook_id = :1', m_user.facebook_id).get() tw_profile = None if m_user.twitter_id: tw_profile = TwitterProfile.gql('WHERE twitter_id = :1', m_user.twitter_id).get() self.render('user_profile.html', user = m_user, cw_profile = cw_profile, fb_profile = fb_profile, tw_profile = tw_profile, is_friend = self.is_friend(id))
def get(self): cw_profile = ExUserInfo.gql('WHERE user_id = :1', self.user.user_id).get() fb_profile = None if self.user.facebook_id: fb_profile = FacebookProfile.gql('WHERE facebook_id = :1', self.user.facebook_id).get() tw_profile = None if self.user.twitter_id: tw_profile = TwitterProfile.gql('WHERE twitter_id = :1', self.user.twitter_id).get() self.render('profile.html', cw_profile=cw_profile, fb_profile=fb_profile, tw_profile=tw_profile, success=False)
def get(self, id): m_user = User.gql('WHERE user_id = :1', id).get() cw_profile = ExUserInfo.gql('WHERE user_id = :1', m_user.user_id).get() fb_profile = None if m_user.facebook_id: fb_profile = FacebookProfile.gql('WHERE facebook_id = :1', m_user.facebook_id).get() tw_profile = None if m_user.twitter_id: tw_profile = TwitterProfile.gql('WHERE twitter_id = :1', m_user.twitter_id).get() self.render('user_profile.html', user=m_user, cw_profile=cw_profile, fb_profile=fb_profile, tw_profile=tw_profile, is_friend=self.is_friend(id))
def post(self): cw_profile = ExUserInfo.gql('WHERE user_id = :1', self.user.user_id).get() self.user.firstname = self.request.get('firstname').capitalize() self.user.lastname = self.request.get('lastname').capitalize() self.user.realname = self.user.firstname + ' ' + self.user.lastname # # # cw_profile.email = self.request.get('email') cw_profile.website = self.request.get('website') cw_profile.location = self.request.get('location') cw_profile.expertise = self.request.get_all('expertise') photo = self.request.get('photo') if photo: if conf.WEB_SERVER == 'http://credibleweb.appspot.com': photo = images.resize(photo, 100, 100) cw_profile.photo = db.Blob(photo) self.user.picture = '/img?img_id=%s' % cw_profile.key() self.user.put() cw_profile.put() # retrieve social network profiles fb_profile = None if self.user.facebook_id: fb_profile = FacebookProfile.gql('WHERE facebook_id = :1', self.user.facebook_id).get() tw_profile = None if self.user.twitter_id: tw_profile = TwitterProfile.gql('WHERE twitter_id = :1', self.user.twitter_id).get() self.render('profile.html', cw_profile=cw_profile, fb_profile=fb_profile, tw_profile=tw_profile, success=True)
def expertiseRecommend(user_id, num=DEF_REC_NUM): recommendations = gae_cache.cache_get(user_id + 'expertisermd') if recommendations: return recommendations expertise = ExUserInfo.gql('WHERE user_id = :1', user_id).get().expertise if not expertise: return None query1 = URLStorage.gql('WHERE topic IN :1', expertise) # url_keys = [item for item in query1.run(keys_only=True)] # logging.info('number of expertise rmds: ' + str(len(url_keys))) # li = [random.randint(0, len(url_keys)-1) for i in range(2*num)] query2 = db.GqlQuery('SELECT url from Rating WHERE user_id = :1', user_id) rated = [item.url for item in query2] recommendations = [] for url_rec in query1: # url_rec = URLStorage.get(url_keys[i]) if url_rec.url not in rated: recommendations.append(url_rec) if len(recommendations) >= num: break gae_cache.cache_put(user_id + 'expertisermd', recommendations) return recommendations
def expertiseRecommend(user_id, num = DEF_REC_NUM): recommendations = gae_cache.cache_get(user_id + 'expertisermd') if recommendations: return recommendations expertise = ExUserInfo.gql('WHERE user_id = :1', user_id).get().expertise if not expertise: return None query1 = URLStorage.gql('WHERE topic IN :1', expertise) # url_keys = [item for item in query1.run(keys_only=True)] # logging.info('number of expertise rmds: ' + str(len(url_keys))) # li = [random.randint(0, len(url_keys)-1) for i in range(2*num)] query2 = db.GqlQuery('SELECT url from Rating WHERE user_id = :1', user_id) rated = [item.url for item in query2] recommendations = [] for url_rec in query1: # url_rec = URLStorage.get(url_keys[i]) if url_rec.url not in rated: recommendations.append(url_rec) if len(recommendations) >= num: break gae_cache.cache_put(user_id+'expertisermd', recommendations) return recommendations
def get(self): cw_profile = ExUserInfo.gql('WHERE user_id = :1', self.user.user_id).get() self.render('edit_cwprofile.html', cw_profile=cw_profile)
def get(self): cw_profile = ExUserInfo.gql('WHERE user_id = :1', self.user.user_id).get() self.render('edit_cwprofile.html', cw_profile = cw_profile)