def handle_category(self, category_type, category_name=None): """Ensure a category is present.""" if self.env.get(category_type): category_name = self.env.get(category_type) if category_name is not None: try: category = self.jss.Category(category_name) category_name = category.name self.output( "Category type: %s-'%s' already exists according to JSS, " "moving on..." % (category_type, category_name)) except jss.GetError: # Category doesn't exist category = jss.Category(self.jss, category_name) category.save() self.output( "Category type: %s-'%s' created." % (category_type, category_name)) self.env["jss_changed_objects"]["jss_category_added"].append( category_name) else: category = None return category
def ensure_categories(j, categories): """Given a list of categories, ensure that they all exist on the JSS. """ print("Ensuring categories exist...") category_set = set(categories) for category in category_set: try: j.Category(category) print("Category %s exists..." % category) except jss.exceptions.JSSGetError: jss.Category(j, category).save() print("Category %s created." % category)