def post(self): self.response.headers['Content-Type'] = 'text/html' # GET USER KEY user = users.get_current_user() myuser_key = ndb.Key('MyUser', user.user_id()) url_id = int(self.request.get('gallery_id_delete')) gallery_details = Gallery.get_by_id(url_id) # GET NEW IMAGE DETAILS image_id = int(self.request.get('image_key')) image_details = Image.get_by_id(image_id) action = self.request.get('button') if action == 'Yes': # DELETE PICTURE # self.response.write(image_details) gallery_details.image_key.remove(image_details.key) gallery_details.put() image_details.key.delete() self.redirect('/gallery?url=' + str(gallery_details.key.urlsafe()))
def get(self): self.response.headers['Content-Type'] = 'text/html' url = '' welcome = '' login_status = '' user = users.get_current_user() if user: url = users.create_logout_url('/') login_status = 'Logout' myuser_key = ndb.Key('MyUser', user.user_id()) myuser = myuser_key.get() if myuser == None: myuser = MyUser(id=user.user_id(), email=user.email()) myuser.put() user_info = MyUser.get_by_id(myuser_key.id()) user_galleries = user_info.gallery_key all_imgs_in_gallery = [] all_gallery_names = [] multiple_results = [] for i in user_galleries: aa = [] gallery_deets = Gallery.get_by_id(i.id()).image_key for g in gallery_deets: aa.append(Image.get_by_id(g.id()).image_name) all_imgs_in_gallery.append(aa) all_gallery_names.append(Gallery.get_by_id(i.id()).gallery_name) # self.response.write(all_imgs_in_gallery) dic = defaultdict(list) for i, x in enumerate(all_imgs_in_gallery): for j, y in enumerate(x): dic[y].append((i, j)) for num, coords in dic.items(): if len(coords) > 1: multiple_text = "\"{0}\" appears in ".format(num) uu = [] unique_uu = [] for x in coords: jj = int(str(x)[1]) uu.append(all_gallery_names[jj]) # for q in uu: # yu = len(all_gallery_names[jj] in uu) yu = uu.count(all_gallery_names[jj]) if yu <= 1: unique_uu.append(all_gallery_names[jj]) multiple_results.append(multiple_text + ", ".join(str(x) for x in unique_uu)) else: url = users.create_login_url(self.request.uri) login_status = 'Login' template_values = { 'url': url, 'user': user, 'welcome': welcome, 'login_status': login_status, 'user_email': user.email(), 'user_galleries': user_galleries, 'myuser_key': myuser_key, 'Gallery': Gallery, 'Image': Image, 'multiple_results': multiple_results, } template = JINJA_ENVIRONMENT.get_template('dashboard.html') self.response.write(template.render(template_values))
def get(self): self.response.headers['Content-Type'] = 'text/html' url = '' welcome = '' login_status = '' user = users.get_current_user() if user: url = users.create_logout_url('/') login_status = 'Logout' myuser_key = ndb.Key('MyUser', user.user_id()) myuser = myuser_key.get() user_info = MyUser.get_by_id(myuser_key.id()) user_galleries = user_info.gallery_key else: url = users.create_login_url(self.request.uri) login_status = 'Login' url_link = self.request.get('url') url_info = ndb.Key(urlsafe=url_link) url_id = url_info.id() gallery_details = Gallery.get_by_id(url_id) pictures_in_gallery = gallery_details.image_key count = 0 duplicate_count = 0 img_in_gallery = [] duplicates = [] final_duplicates = [] for i in pictures_in_gallery: count += 1 img_in_gallery.append(Image.get_by_id(i.id()).image_name) for x in img_in_gallery: if img_in_gallery.count(x) > 1: duplicates.append(x) for y in duplicates: if y not in final_duplicates: final_duplicates.append(y) duplicate_count = len(final_duplicates) template_values = { 'url': url, 'user': user, 'welcome': welcome, 'login_status': login_status, 'user_email': user.email(), 'gallery_details': gallery_details, 'myuser_key': myuser_key, 'Gallery': Gallery, 'upload_url': blobstore.create_upload_url('/upload'), 'pictures_in_gallery': pictures_in_gallery, 'Image': Image, 'count': count, 'duplicates': duplicates, 'duplicate_count': duplicate_count, } template = JINJA_ENVIRONMENT.get_template('gallery.html') self.response.write(template.render(template_values))