class Config(object): def __init__(self, special_term='yay'): self.special_term = special_term self.openers = Openers() self.clear() def load_uri(self, uri): stream = self.openers.open(uri) self.load(stream, uri, hasattr(stream, "secret") and stream.secret) def load(self, stream, name="<Unknown>", secret=False): l = Loader(stream, name=name, special_term=self.special_term, secret=secret) data = l.compose(self.mapping) self.mapping = data def clear(self): self.mapping = None def get(self): if not self.mapping: return {} return self.mapping.resolve()
class Config(object): def __init__(self, special_term='yay', searchpath=None): self.special_term = special_term self.openers = Openers(searchpath=searchpath) self.clear() self.mapping = None def load_uri(self, uri): stream = self.openers.open(uri) self.load(stream, uri, hasattr(stream, "secret") and stream.secret) def load(self, stream, name="<Unknown>", secret=False): l = Loader(stream, name=name, parent=self, secret=secret) data = l.compose(self.mapping) self.mapping = data def add(self, data): boxed = BoxingFactory.box(data) if not isinstance(boxed, Mapping): raise ProgrammingError( "Tried to call Config.add on type '%s'. This cannot be boxed as a 'Mapping'." % type(data)) boxed.predecessor = self.mapping if boxed.predecessor: boxed.predecessor.set_parent(boxed) self.mapping = boxed def clear(self): self.mapping = None self.definitions = {} def get(self): if not self.mapping: return {} return self.mapping.resolve()
class Config(object): def __init__(self, special_term='yay', searchpath=None): self.special_term = special_term self.openers = Openers(searchpath=searchpath) self.clear() self.mapping = None def load_uri(self, uri): stream = self.openers.open(uri) self.load(stream, uri, hasattr(stream, "secret") and stream.secret) def load(self, stream, name="<Unknown>", secret=False): l = Loader(stream, name=name, parent=self, secret=secret) data = l.compose(self.mapping) self.mapping = data def add(self, data): boxed = BoxingFactory.box(data) if not isinstance(boxed, Mapping): raise ProgrammingError("Tried to call Config.add on type '%s'. This cannot be boxed as a 'Mapping'." % type(data)) boxed.predecessor = self.mapping if boxed.predecessor: boxed.predecessor.set_parent(boxed) self.mapping = boxed def clear(self): self.mapping = None self.definitions = {} def get(self): if not self.mapping: return {} return self.mapping.resolve()
def __init__(self, special_term='yay'): self.special_term = special_term self.openers = Openers() self.clear()
def __init__(self, special_term='yay', searchpath=None): self.special_term = special_term self.openers = Openers(searchpath=searchpath) self.clear() self.mapping = None
def get_file(self, filename): try: return Openers(searchpath=self.ypath).open(filename) except NotFound, e: raise MissingAsset(str(e))