def post(self): item = None vals = {} # get all the incoming values title = self.request.get('title').strip() blob_key = None caption = self.request.get('caption').strip() credit_who = self.request.get('credit_who').strip() credit_link = self.request.get('credit_link').strip() if self.request.get('credit_link') else None label_raw = self.request.get('label_raw').strip() # get the file information uploaded_files = self.get_uploads('image') if len(uploaded_files) == 1: blob_info = uploaded_files[0] blob_key = blob_info.key() if self.request.get('key'): item = Image.get( self.request.get('key') ) item.title = title item.caption = caption item.credit_who = credit_who item.credit_link = credit_link item.label_raw = label_raw else: item = Image( title = title, caption = caption, credit_who = credit_who, credit_link = credit_link, label_raw = label_raw, ) if blob_key: item.blob = blob_key # update and save this image item.set_derivatives() item.put() self.redirect('.')