def _create_note(self, user, title, content, attachments): note = Note(parent=ndb.Key("User", user.nickname()), title=title, content=content) note.put() if attachments: bucket_name = app_identity.get_default_gcs_bucket_name() for file_name, file_content in attachments: content_t = mimetypes.guess_type(file_name)[0] real_path = os.path.join('/', bucket_name, user.user_id(), file_name) with cloudstorage.open(real_path, 'w', content_type=content_t, options={'x-goog-acl': 'public-read'}) as f: f.write(file_content.decode()) key = blobstore.create_gs_key('/gs' + real_path) try: url = images.get_serving_url(key, size=0) thumbnail_url = images.get_serving_url(key, size=150, crop=True) except images.TransformationError, images.NotImageError: url = "http://storage.googleapis.com{}".format(real_path) thumbnail_url = None f = NoteFile(parent=note.key, name=file_name, url=url, thumbnail_url=thumbnail_url, full_path=real_path) f.put() note.files.append(f.key) note.put()
def _create_note(self, user, file_name, file_path): note = Note(parent=ndb.Key("User", user.nickname()), title=self.request.get('title'), content=self.request.get('content')) note.put() # Retrieve csv representing checklist items item_titles = self.request.get('checklist_items').split(',') for item_title in item_titles: if not item_title: continue # create a checklist instance item = CheckListItem(parent = note.key, title = item_title) # store each checklist item.put() # after storing it, we can access the key to append it to the note note.checklist_items.append(item.key) if file_name and file_path: url, thumbnail_url = self._get_urls_for(file_name) f = NoteFile(parent=note.key, name=file_name, url=url, thumbnail_url=thumbnail_url, full_path=file_path) f.put() note.files.append(f.key) # update the note entity with the checklist items note.put()
def _create_note(self, user, file_name, file_path): note = Note(parent=ndb.Key("User", user.nickname()), title=self.request.get('title'), content=self.request.get('content')) #note.put() item_titles = self.request.get('checklist_items').split(',') for item_title in item_titles: if not item_title: continue item = CheckListItem(title=item_title) #item.put() #note.checklist_items.append(item.key) note.checklist_items.append(item) #item = CheckListItemObject(title=item_title) #note.checklist_items.append(item) if file_name and file_path: url, thumbnail_url = self._get_urls_for(file_name) f = NoteFile(parent=note.key, name=file_name, url=url, thumbnail_url=thumbnail_url, full_path=file_path) f.put() note.files.append(f.key) note.put()
def _create_note(self, user, file_name, file_path): note = Note(parent=ndb.Key("User", user.nickname()), title=self.request.get('title'), content=self.request.get('content')) item_titles = self.request.get('checklist_items').split(',') for item_title in item_titles: if not item_title: continue item = CheckListItem(title=item_title) note.checklist_items.append(item) note.put() if file_name and file_path: url, thumbnail_url = self._get_urls_for(file_name) f = NoteFile(parent=note.key, name=file_name, url=url, thumbnail_url=thumbnail_url, full_path=file_path) f.put() note.files.append(f.key) note.put() inc_note_counter()