Example #1
0
    def addTufoProp(self, form, prop, **info):
        '''
        Add a property to the data model.

        Example:

            # all foo tufos must have a foo:bar property
            model.addTufoProp('foo', 'bar', ptype='int', defval=0)

        '''
        pdef = self.getPropDef(form)
        if pdef is None:
            raise s_common.NoSuchForm(name=form)

        if info.get('glob'):
            self._addPropGlob(form, prop, **info)
            return

        info['form'] = form
        fullprop = '%s:%s' % (form, prop)

        if not propre.match(fullprop):
            raise s_common.BadPropName(name=fullprop)

        self.addPropDef(fullprop, **info)
Example #2
0
    def reqTufoForm(self, name):
        '''
        Check if a form is a valid form, raise an exception otherwise.

        Args:
            name (str): Form to check

        Raises:
            NoSuchForm: If the form does not exist in the datamodel.
        '''
        ret = self.isTufoForm(name)
        if not ret:
            raise s_common.NoSuchForm(name=name)