Exemple #1
0
    def render(self, session, feature, type, **arguments):
        cls = Feature.polymorphic_subclass(type, "Unknown feature type")
        dbfeature = cls.get_unique(session, name=feature, compel=True)

        if dbfeature.links:
            raise ArgumentError(
                "{0} is still in use and cannot be deleted.".format(dbfeature))

        session.delete(dbfeature)
        session.flush()
        return
Exemple #2
0
    def render(self, session, feature, type, **arguments):
        cls = Feature.polymorphic_subclass(type, "Unknown feature type")
        dbfeature = cls.get_unique(session, name=feature, compel=True)

        if dbfeature.links:
            raise ArgumentError("{0} is still in use and cannot be deleted."
                                .format(dbfeature))

        session.delete(dbfeature)
        session.flush()
        return
Exemple #3
0
    def render(self, session, feature, type, post_personality, comments,
               **arguments):
        cls = Feature.polymorphic_subclass(type, "Unknown feature type")

        if _name_re.search(feature):
            raise ArgumentError("Path components in the feature name must not "
                                "start with a dot.")

        if post_personality and not cls.post_personality_allowed:
            raise UnimplementedError("The post_personality attribute is "
                                     "implemented only for host features.")

        cls.get_unique(session, name=feature, preclude=True)

        dbfeature = cls(name=feature, post_personality=post_personality,
                        comments=comments)
        session.add(dbfeature)

        session.flush()

        return
Exemple #4
0
    def render(self, session, feature, type, post_personality, comments,
               **arguments):
        cls = Feature.polymorphic_subclass(type, "Unknown feature type")

        if _name_re.search(feature):
            raise ArgumentError("Path components in the feature name must not "
                                "start with a dot.")

        if post_personality and not cls.post_personality_allowed:
            raise UnimplementedError("The post_personality attribute is "
                                     "implemented only for host features.")

        cls.get_unique(session, name=feature, preclude=True)

        dbfeature = cls(name=feature,
                        post_personality=post_personality,
                        comments=comments)
        session.add(dbfeature)

        session.flush()

        return
Exemple #5
0
 def render(self, session, feature, type, **arguments):
     cls = Feature.polymorphic_subclass(type, "Unknown feature type")
     return cls.get_unique(session, name=feature, compel=True)