def _edit_tags(self): tags_str = self.request.get('tags') self.edited = True helper = TagHelper(self.user) if tags_str: # remove duplication src = tags_str.split(' ') tags_arr = [] for t in src: if t and t not in tags_arr: tags_arr.append(t) tags = elements.Tags.get_by_user_isbn(self.user, self.isbn) if tags: for name in tags.names: helper.remove(name, tags.isbn) for name in tags_arr: helper.add(name, tags.isbn) tags.names = tags_arr else: tags = elements.Tags(user=self.user, isbn=self.isbn, parent=utils.get_key_private('Tags', self.user), names=tags_arr) for name in tags_arr: helper.add(name, self.isbn) tags.put() else: # to delete any tags t = elements.Tags.get_by_user_isbn(self.user, self.isbn) if t: t.delete() for name in t.names: helper.remove(name, t.isbn)