Пример #1
0
    def __init__(self, filename=None):
        _api = [
            getattr(self, fn) for fn in dir(self)
            if hasattr(getattr(self, fn), "_api")
        ]
        self._api = {fn.__name__: fn for fn in _api}

        self.store = SQLStore()
        #self.store = RDFlibStore()

        self.models = {DEFAULT_MODEL}

        apilist = [
            key + (" (compatibility)" if hasattr(val, "_compat") else "")
            for key, val in self._api.items()
        ]

        logger.debug("Initializing the MinimalKB with the following API: \n\t- " + \
                "\n\t- ".join(apilist))

        self.incomingrequests = Queue()
        self.requestresults = {}

        self.active_evts = set()
        self.eventsubscriptions = {}

        self.start_services()

        if filename:
            self.load(filename)