def refresh_employer_images(self, employer_list=False): #TODO: Reduce multiple writes from google.appengine.api import images save_profiles = [] from model.user import Profile, ProfilePicture if not employer_list: employers = Employer.all().fetch(1000) else: employers = employer_list logging.info('saving employer images for %s', employers) for e in employers: p_path = ROOT_PATH + "/data/img/business/" try: image_file = open(p_path + str(e.unique_identifier) + ".png") except: continue image = image_file.read() small_image = images.resize(image, 45, 45) large_image = images.resize(image, 95, 95) new_image = ProfilePicture(small_image = small_image, large_image = large_image, type = "employer" ) new_image.put() logging.info('saved employer image for %s', e.unique_identifier) this_profile = Profile.get_by_key_name(e.unique_identifier) try:this_profile.photo = new_image except: logging.info('unable to refresh employer image for %s', e.unique_identifier) continue save_profiles.append(this_profile) logging.info('refreshed %d employer images', len(save_profiles)) if save_profiles: print "refreshed employer images for", [p.unique_identifier for p in save_profiles] db.put(save_profiles)
def register_user(user_key, nickname, email): import random from model.user import ProfilePicture pq_pics = ProfilePicture.gql("WHERE type = :1", "pq") random_pic = random.sample(pq_pics, 1)[0] profile_path = nickname.lower() profile_path = profile_path.replace(' ','_') new_user = Profile.get_or_insert(key_name = user_key, unique_identifier = user_key, # redundancy nickname = nickname, fullname = nickname, profile_path = profile_path, photo = random_pic ) if email: new_user.email = email new_user.put() return new_user