def gravatar_url(user, size=80): try: url = user.socialaccount_set.all()[0].get_avatar_url() except: url = None if url: return url else: return get_gravatar_url(user, size)
def lookup(username): emails = [] # try LDAP email emails.append(utils.get_ldap_email(username, app.config['LDAP_BASE_URL'])) # try Gerrit email emails.append(utils.get_gerrit_email(username, app.config['GERRIT_API_BASE_URL'])) # filter null and duplicates emails = list(set(filter(None.__ne__, emails))) gravatar_urls = [utils.get_gravatar_url(email) for email in emails] # check existing avatar url current_avatar_url = utils.get_gerrit_avatar(username, app.config['GERRIT_API_BASE_URL']) # TODO merge into index.html return flask.render_template('lookup.html', gravatar_urls = gravatar_urls, current_avatar_url = current_avatar_url)
def provider_details(request, number): #if check_if_resource_exists(number) != 200: # return render(request, 'providerregistry/404.html', {}) provider = get_resource(number) basic = provider.get("basic", {}) random_background = "%s.jpg" % (random.randrange(1, 27)) #Get Gravatar URL gravatar_email = basic.get('gravatart_email', "") gravatar_url = get_gravatar_url(hash_gravatar_email(gravatar_email)) context = { "enumeration": provider, "random_bg_image": random_background, "gravatar_url": gravatar_url, "PROVIDER_STATIC_HOST": settings.PROVIDER_STATIC_HOST, } return render(request, 'providerregistry/details.html', context)
def provider_profile(request, number): #if check_if_resource_exists(number) != 200: # return render(request, 'providerregistry/404.html', {}) random_background = "%s.jpg" % (random.randrange(1, 27)) provider = get_resource(number) basic = provider.get("basic", {}) pecos = get_pecos_base(number) #Get Gravatar URL gravatar_email = basic.get('gravatart_email', "") gravatar_url = get_gravatar_url(hash_gravatar_email(gravatar_email)) #Get Google q addresses = provider.get("addresses", []) qooglemap_q = "" location = {} for a in addresses: if a.get("address_purpose", "") == "LOCATION": location = a googlemap_q = googlemap_address_query( address_1=location.get("address_1", ""), address_2=location.get("address_2", ""), city=location.get("city", ""), state=location.get("state", ""), zipcode=location.get("zip", ""), ) context = { "enumeration": provider, "pecos": pecos, "random_bg_image": random_background, "gravatar_url": gravatar_url, "googlemap_q": googlemap_q, "PROVIDER_STATIC_HOST": settings.PROVIDER_STATIC_HOST } return render(request, 'providerregistry/stylish-portfolio.html', context)
def avatar(self): try: return get_gravatar_url(self.created_by) except: return None
def last_activity_avatar(self): try: return get_gravatar_url(self.last_activity.user) except: return None
def post(self): session_user = self.get_session_user() first_name = self.request.get('first_name') last_name = self.request.get('last_name') birthdate_day = dec(self.request.get('birthdate_day')) birthdate_month = dec(self.request.get('birthdate_month')) birthdate_year = dec(self.request.get('birthdate_year')) company = self.request.get('company') designation = self.request.get('designation') gender = self.request.get('gender') t_shirt_size = self.request.get('t_shirt_size') email_address = self.request.get('email_address') corporate_email_address = self.request.get('corporate_email_address') railway_line = self.request.get('railway_line') graduation_year = dec(self.request.get('graduation_year')) if not session_user.email: session_user.email = email_address apartment = self.request.get('apartment') street_name = self.request.get('street_name') landmark = self.request.get('landmark') city = self.request.get('city') state_province = self.request.get('state_province') zip_code = self.request.get('zip_code') country = self.request.get('country') phone_number_count = int(self.request.get('phone_number_count'), 10) phone_numbers = [] for i in range(1, phone_number_count+1): phone_number = self.request.get('phone_number_' + str(i)) phone_type = self.request.get('phone_type_' + str(i)) phone_numbers.append((phone_number, phone_type)) #enable_notifications = True if self.request.get('enable_notifications') else False #enable_public_profile = True if self.request.get('enable_public_profile') else False #enable_administrator_contact = True if self.request.get('enable_administrator_contact') else False enable_notifications = True enable_public_profile = True enable_administrator_contact = True # Create database entries. to_store = [] user = models.User(username=session_user.username, email=email_address, signin_email=session_user.email, identifier=session_user.identifier) if corporate_email_address: user.corporate_email = corporate_email_address user.nickname = first_name + ' ' + last_name user.enable_notifications = enable_notifications user.enable_public_profile = enable_public_profile user.enable_administrator_contact = enable_administrator_contact user.wants_activation = True user.has_updated_profile = True user.auth_provider = session_user.auth_provider user.is_active = False if session_user.photo: user.photo = session_user.photo user.gravatar = get_gravatar_url(email_address) user.put() person = models.Person() person.user = user person.first_name = first_name person.last_name = last_name person.company = company person.designation = designation person.birthdate = datetime(birthdate_year, birthdate_month, birthdate_day).date() person.gender = gender person.graduation_year = graduation_year person.t_shirt_size = t_shirt_size person.put() host_info = models.UserHostInformation() host_info.user = user host_info.ip_address = self.request.remote_addr host_info.http_user_agent = self.request.headers.get('User-Agent', '') host_info.http_accept_language = self.request.headers.get('Accept-Language', '') host_info.http_accept_encoding = self.request.headers.get('Accept-Encoding', '') host_info.http_accept_charset = self.request.headers.get('Accept-Charset', '') host_info.http_accept = self.request.headers.get('Accept', '') host_info.http_referer = self.request.headers.get('Referer', '') to_store.append(host_info) openid = models.OpenID(username=session_user.username) openid.nickname = session_user.nickname openid.email = session_user.email openid.auth_provider = session_user.auth_provider openid.identifier = session_user.identifier openid.profile_url = session_user.profile_url openid.user = user openid.is_primary_id = True to_store.append(openid) address_line = ', '.join([ apartment, street_name, landmark, '' if railway_line == 'other' else models.RAILWAY_LINES.get(railway_line, '') + ' Railway Line', city, state_province + ' ' + zip_code, COUNTRY_NAME_ISO_ALPHA_3_TABLE.get(country, ''), ]) address = models.PersonAddress(person=person, address_line=address_line, street_name=street_name, zip_code=zip_code, state_province=state_province, country=country, landmark=landmark, apartment=apartment, city=city, nearest_railway_line=railway_line, address_type='home') to_store.append(address) for (number, phone_type) in phone_numbers: if number.strip(): phone = models.PersonPhone(person=person, number=number, phone_type=phone_type) to_store.append(phone) # Batch write all non-dependent entities. db.put(to_store) models.User.increment_user_count() queue_mail_task(url='/worker/mail/signup_notification/' + str(user.key()), method='GET') rendered_template = render_template('activation_reminder.html') self.response.out.write(rendered_template)