def __init__(self, **kwargs): if not (kwargs.get('socket_options', None) is None): self.Socket = GsSocketClient(**kwargs.get('socket_options')) self.ProgressQueue = queue.Queue() else: self.Socket = None self.ProgressQueue = None self.FeTree = FeaturesTree(**kwargs) self.Fsm = GeojsonFiniteStateMachine(progress_queue=self.ProgressQueue, structure=self.FeTree) self.geojson = None self.options = kwargs.get('geojson_options', {}) self.__processes__()
class GeoJSON: def __init__(self, **kwargs): if not (kwargs.get('socket_options', None) is None): self.Socket = GsSocketClient(**kwargs.get('socket_options')) self.ProgressQueue = queue.Queue() else: self.Socket = None self.ProgressQueue = None self.FeTree = FeaturesTree(**kwargs) self.Fsm = GeojsonFiniteStateMachine(progress_queue=self.ProgressQueue, structure=self.FeTree) self.geojson = None self.options = kwargs.get('geojson_options', {}) self.__processes__() def __processes__(self): if self.Socket: self.SocketThread = threading.Thread(target=self.Socket.run, args=(self.ProgressQueue, self.__get_results__)) self.SocketThread.start() def __start__(self, **kwargs): self.geojson = kwargs.get('geojson', None) self.__read_geojson__(**kwargs) def __get_results__(self, progress=None): # [print(x.keys, x.count) for x in self.FeTree.Optimum.RawData.models] # [print(x) for x in self.FeTree.Optimum.history] return self.FeTree.get_all_leafs_paths(progress=progress) def __read_geojson__(self, **kwargs): if self.options['mode'] == 'static': self.Fsm.run(data=self.geojson, **kwargs) elif self.options['mode'] == 'dynamic': pass