def save_categories(self): if self.categories is None: return root_id = 1 categories = [c.strip() for c in self.categories.split('>')] parent = None for category in categories: slug = self.create_slug(category) if parent is not None: slug = parent.slug + "-" + slug try: cc_node = Category.get(Category.slug == slug) except: try: cc_node = Category() cc_node.name = category cc_node.slug = slug cc_node.parent_id = parent.id if parent is not None else root_id cc_node.save() cc_node = Category.get(Category.slug == slug) except: pass parent = cc_node try: cp = CategoryProduct() cp.asin = self.asin cp.category_id = cc_node.id cp.save() except: pass