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
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, ))
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, ))
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,))
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
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, ))
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))
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
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)
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)
def get_identifier(uname): return identifier(normalize_unicode(uname))
def get_dtd_element(self, name): try: return getattr(self.dtd, identifier(name)) except AttributeError: raise ValidationError("No element: %s" % (name, ))
def get_dtd_element(self, name): try: return getattr(self.dtd, identifier(name)) except AttributeError: raise ValidationError("No element: %s" % (name,))
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)
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)