def post(self): """ validate contact form """ if not self.form.validate(): return self.get() name = self.form.name.data.strip() cost = self.form.cost.data maintenance = self.form.maintenance.data replacement = self.form.replacement.data installation = self.form.installation.data postage = self.form.postage.data supplier = self.form.supplier.data tags = self.form.tags.data notes = self.form.notes.data.strip() field_storage = self.form.image.data edit_id = self.request.get('aid_id') if edit_id: new_aid = ndb.Key(urlsafe=edit_id).get() logging.info(new_aid) else: new_aid = Aid() new_aid.name = name new_aid.cost = cost new_aid.maintenance = maintenance new_aid.replacement = replacement new_aid.installation = installation new_aid.postage = postage new_aid.supplier = Key("Supplier", supplier) new_aid.tags = tags new_aid.notes = notes if isinstance(field_storage, FieldStorage): dyn = models.ImageModel(id=field_storage.filename, filename=field_storage.filename) gcs_data.gcs_write_blob(dyn, field_storage.file.read()) gcs_data.gcs_serving_url(dyn) new_aid.image = dyn new_aid.put() return self.redirect('/add_aid')