Пример #1
0
def get_inlinecontainer(dtd, name, kwargs):
    name = identifier(name)
    base = getattr(dtd, name)
    cls = get_class(dtd, name, (InlineMixin, base))
    obj = cls(**kwargs)
    obj._init(dtd)
    return obj
Пример #2
0
def NewTestSuite(dbsuite):
    """Return a runnable Suite converted from a database TestSuite."""
    if dbsuite.valid:
        return newclass(identifier(dbsuite.name), core.TestSuite)
    else:
        raise InvalidObjectError("%s is not runnable (not valid)." %
                                 (dbsuite, ))
Пример #3
0
def get_inlinecontainer(dtd, name, kwargs):
    name = identifier(name)
    base = getattr(dtd, name)
    cls = get_class(dtd, name, (InlineMixin, base))
    obj = cls(**kwargs)
    obj._init(dtd)
    return obj
Пример #4
0
 def set_doctype(self, doctype):
     dt = dtds.get_doctype(doctype)
     if dt:
         self.DOCTYPE = str(dt).encode("ascii")
         self.set_dtd(dtds.get_dtd_module(doctype))
         rootclass = getattr(self.dtd, identifier(dt.name))
         self.set_root(rootclass())
     else:
         raise ValidationError("Invalid doctype: %r" % (doctype, ))
Пример #5
0
 def _get_tag_obj(self, tag, attrs):
     attrdict = {}
     def fixatts(t):
         attrdict[str(t[0])] = t[1]
     map(fixatts, attrs)
     try:
         cl = getattr(self.doc.dtd, identifier(tag))
     except AttributeError, err:
         raise ValidationError("No tag in dtd: %s" % (err,))
Пример #6
0
def get_container(dtd, name, kwargs):
    name = identifier(name)
    base = getattr(dtd, name)
    if base.CONTENTMODEL.is_empty():
        return base(**kwargs)
    if issubclass(base, ContainerMixin):
        return base(**kwargs)
    cls = get_class(dtd, name, (ContainerMixin, base))
    obj = cls(**kwargs)
    obj._init(dtd)
    return obj
Пример #7
0
def get_container(dtd, name, kwargs):
    name = identifier(name)
    base = getattr(dtd, name)
    if base.CONTENTMODEL.is_empty():
        return base(**kwargs)
    if issubclass(base, ContainerMixin):
        return base(**kwargs)
    cls = get_class(dtd, name, (ContainerMixin, base))
    obj = cls(**kwargs)
    obj._init(dtd)
    return obj
Пример #8
0
    def _get_tag_obj(self, tag, attrs):
        attrdict = {}

        def fixatts(t):
            attrdict[str(t[0])] = t[1]

        map(fixatts, attrs)
        try:
            cl = getattr(self.doc.dtd, identifier(tag))
        except AttributeError, err:
            raise ValidationError("No tag in dtd: %s" % (err, ))
Пример #9
0
 def SetColumns(self, *args):
   dsargs = [
     ("DS:%s:GAUGE:2:-20:500" % identifier(name)[:19]) for name in args[1:]]
   rraargs = [
     "RRA:LAST:0:1:3600",
     "RRA:AVERAGE:0.1:3600:24",
     "RRA:MIN:0.2:3600:24",
     "RRA:MAX:0.2:3600:24",
     ]
   rrdtool.create(self._filename, "--start", str(long(time.time())),
       "--step", self._interval, *tuple(dsargs + rraargs))
Пример #10
0
 def _get_class(self, name):
     klass = None
     name = identifier(name)
     try:
         return self._classcache[name]
     except KeyError:
         pass
     for mod in self.doc.dtds:
         try:
             klass = getattr(mod, name)
         except AttributeError:
             continue
         if klass:
             self._classcache[name] = klass
             return klass
     raise AttributeError
Пример #11
0
 def _get_class(self, name):
     klass = None
     name = identifier(name)
     try:
         return self._classcache[name]
     except KeyError:
         pass
     for mod in self.doc.dtds:
         try:
             klass = getattr(mod, name)
         except AttributeError:
             continue
         if klass:
             self._classcache[name] = klass
             return klass
     raise AttributeError
Пример #12
0
def get_suite(dbsuite, config):
    """Get a Suite object.

    Return the implementation class of a TestSuite, or a generic Suite
    instance if not defined.
    """
    name = dbsuite.name
    if " " in name:
        name = identifier(name)
    impl = dbsuite.suiteimplementation
    if impl:
        try:
            obj = module.get_object(impl)
        except module.ObjectImportError:
            logging.warning("Did not find suite implementation %r." % (impl,))
        else:
            if type(obj) is type and issubclass(obj, core.TestSuite):
                return obj(config, name=name)
            else:
                raise InvalidObjectError("%r is not a TestSuite class object." % (obj,))
    return core.TestSuite(config, name=name)
Пример #13
0
def get_suite(dbsuite, config):
    """Get a Suite object.

    Return the implementation class of a TestSuite, or a generic Suite
    instance if not defined.
    """
    name = dbsuite.name
    if " " in name:
        name = identifier(name)
    impl = dbsuite.suiteimplementation
    if impl:
        try:
            obj = module.get_object(impl)
        except module.ObjectImportError:
            logging.warning("Did not find suite implementation %r." % (impl, ))
        else:
            if type(obj) is type and issubclass(obj, core.TestSuite):
                return obj(config, name=name)
            else:
                raise InvalidObjectError(
                    "%r is not a TestSuite class object." % (obj, ))
    return core.TestSuite(config, name=name)
Пример #14
0
def get_identifier(uname):
    return identifier(normalize_unicode(uname))
Пример #15
0
 def get_dtd_element(self, name):
     try:
         return getattr(self.dtd, identifier(name))
     except AttributeError:
         raise ValidationError("No element: %s" % (name, ))
Пример #16
0
def get_identifier(uname):
    return identifier(normalize_unicode(uname))
Пример #17
0
 def get_dtd_element(self, name):
     try:
         return getattr(self.dtd, identifier(name))
     except AttributeError:
         raise ValidationError("No element: %s" % (name,))
Пример #18
0
 def get_identifier(self):
     h = self.__hash__()
     h = h**2 if h < 0 else h  # make non-negative
     return "attrib%s_%s" % (identifier(POM.normalize_unicode(
         self.name)), h)
Пример #19
0
 def get_identifier(self):
     h = self.__hash__()
     h = h**2 if h < 0 else h # make non-negative
     return "attrib%s_%s" % (identifier(POM.normalize_unicode(self.name)), h)