def update(self, data, error, error_code): """Emit the 'replyFromSpec' signal.""" self.data = data self.error = error self.error_code = error_code SpecEventsDispatcher.emit(self, 'replyFromSpec', (self, ))
def update(self, data, error, error_code): """Emit the 'replyFromSpec' signal.""" self.data = data self.error = error self.error_code = error_code SpecEventsDispatcher.emit(self, "replyFromSpec", (self,))
def specConnected(self): """Emit the 'connected' signal when the remote Spec version is connected.""" old_state = self.state self.state = CONNECTED if old_state != CONNECTED: logging.getLogger('SpecClient').info('Connected to %s:%s', self.host, (self.scanport and self.scanname) or self.port) SpecEventsDispatcher.emit(self, 'connected', ())
def specConnected(self): """Emit the 'connected' signal when the remote Spec version is connected.""" old_state = self.state self.state = CONNECTED if old_state != CONNECTED: logging.getLogger('SpecClient').info( 'Connected to %s:%s', self.host, (self.scanport and self.scanname) or self.port) SpecEventsDispatcher.emit(self, 'connected', ())
def specConnected(self): """Emit the 'connected' signal when the remote Spec version is connected.""" old_state = self.state self.state = CONNECTED if old_state != CONNECTED: log.log( 1, 'Connected to %s:%s' % (self.host, (self.scanport and self.scanname) or self.port)) SpecEventsDispatcher.emit(self, 'connected', ())
def spec_disconnected(self): """Emit the 'disconnected' signal when the remote Spec version is disconnected.""" # SpecEventsDispatcher.dispatch() old_state = self.state self.state = DISCONNECTED if old_state == CONNECTED: log.log( 1, 'disconnected from %s:%s' % (self.host, self.specname or self.port)) SpecEventsDispatcher.emit(self, 'disconnected', ())
def specDisconnected(self): """Emit the 'disconnected' signal when the remote Spec version is disconnected.""" old_state = self.state self.state = DISCONNECTED if old_state == CONNECTED: logging.getLogger('SpecClient').info('Disconnected from %s:%s', self.host, (self.scanport and self.scanname) or self.port) SpecEventsDispatcher.emit(self, 'disconnected', ()) self.connected_event.clear()
def update(self, data, error, error_code): """Emit the 'replyFromSpec' signal.""" self.data = data self.error = error self.error_code = error_code self.pending = False log.log(2, "emitting replyArrived") SpecEventsDispatcher.emit(self, 'replyArrived', (self, ))
def specDisconnected(self): """Emit the 'disconnected' signal when the remote Spec version is disconnected.""" SpecEventsDispatcher.dispatch() old_state = self.state self.state = DISCONNECTED if old_state == CONNECTED: log.info('Disconnected from %s:%s', self.host, (self.scanport and self.scanname) or self.port) SpecEventsDispatcher.emit(self, 'disconnected', ())
def specConnected(self): """Emit the 'connected' signal when the remote Spec version is connected.""" old_state = self.state self.state = CONNECTED if old_state != CONNECTED: logging.getLogger("SpecClient").info( "Connected to %s:%s", self.host, (self.scanport and self.scanname) or self.port ) self.connected_event.set() SpecEventsDispatcher.emit(self, "connected", ())
def specDisconnected(self): """Emit the 'disconnected' signal when the remote Spec version is disconnected.""" old_state = self.state self.state = DISCONNECTED if old_state == CONNECTED: logging.getLogger('SpecClient').info( 'Disconnected from %s:%s', self.host, (self.scanport and self.scanname) or self.port) SpecEventsDispatcher.emit(self, 'disconnected', ()) self.connected_event.clear()
def error(self, error): """Propagate 'error' event""" SpecEventsDispatcher.emit(self, 'error', (error, ))
def error(self, error): """Emit the 'error' signal when the remote Spec version signals an error.""" logging.getLogger("SpecClient").error("Error from Spec: %s", error) SpecEventsDispatcher.emit(self, "error", (error,))
def update(self, channelValue, deleted=False, force=False): """Update channel's value and emit the 'valueChanged' signal.""" if isinstance(channelValue, dict) and self.access1 is not None: if self.access1 in channelValue: if deleted: SpecEventsDispatcher.emit(self, 'valueChanged', ( None, self.name, )) else: if self.access2 is None: if force or self.value is None or self.value != channelValue[ self.access1]: self.value = channelValue[self.access1] SpecEventsDispatcher.emit(self, 'valueChanged', ( self.value, self.name, )) else: if self.access2 in channelValue[self.access1]: if deleted: SpecEventsDispatcher.emit( self, 'valueChanged', ( None, self.name, )) else: if force or self.value is None or self.value != channelValue[ self.access1][self.access2]: self.value = channelValue[self.access1][ self.access2] SpecEventsDispatcher.emit( self, 'valueChanged', ( self.value, self.name, )) return #if type(self.value) == types.DictType and type(channelValue) == types.DictType: if isinstance(self.value, dict) and isinstance(channelValue, dict): # update dictionary if deleted: for key, val in iter(channelValue.items()): if isinstance(val, dict): for k in val: try: del self.value[key][k] except KeyError: pass if len(self.value[key] ) == 1 and None in self.value[key]: self.value[key] = self.value[key][None] else: try: del self.value[key] except KeyError: pass else: for k1, v1 in iter(channelValue.items()): if isinstance(v1, dict): try: self.value[k1].update(v1) except KeyError: self.value[k1] = v1 except AttributeError: self.value[k1] = {None: self.value[k1]} self.value[k1].update(v1) else: if k1 in self.value.keys() and isinstance( self.value[k1], dict): self.value[k1][None] = v1 else: self.value[k1] = v1 value2emit = self.value.copy() else: if deleted: self.value = None else: self.value = channelValue value2emit = self.value SpecEventsDispatcher.emit(self, 'valueChanged', ( value2emit, self.name, ))
def update(self, channelValue, deleted = False): """Update channel's value and emit the 'valueChanged' signal.""" if type(channelValue) == types.DictType and self.access1 is not None: if self.access1 in channelValue: if deleted: SpecEventsDispatcher.emit(self, 'valueChanged', (None, self.name, )) else: if self.access2 is None: if self.value is None or self.value != channelValue[self.access1]: self.value = channelValue[self.access1] SpecEventsDispatcher.emit(self, 'valueChanged', (self.value, self.name, )) else: if self.access2 in channelValue[self.access1]: if deleted: SpecEventsDispatcher.emit(self, 'valueChanged', (None, self.name, )) else: if self.value is None or self.value != channelValue[self.access1][self.access2]: self.value = channelValue[self.access1][self.access2] SpecEventsDispatcher.emit(self, 'valueChanged', (self.value, self.name, )) return if type(self.value) == types.DictType and type(channelValue) == types.DictType: # update dictionary if deleted: for key,val in channelValue.iteritems(): if type(val) == types.DictType: for k in val: try: del self.value[key][k] except KeyError: pass if len(self.value[key])==1 and None in self.value[key]: self.value[key]=self.value[key][None] else: try: del self.value[key] except KeyError: pass else: for k1,v1 in channelValue.iteritems(): if type(v1)==types.DictType: try: self.value[k1].update(v1) except KeyError: self.value[k1]=v1 except AttributeError: self.value[k1]={None: self.value[k1]} self.value[k1].update(v1) else: if self.value.has_key(k1) and type(self.value[k1]) == types.DictType: self.value[k1][None] = v1 else: self.value[k1] = v1 value2emit=self.value.copy() else: if deleted: self.value = None else: self.value = channelValue value2emit=self.value SpecEventsDispatcher.emit(self, 'valueChanged', (value2emit, self.name, ))
def disconnected(self): """Propagate 'disconnection' event""" SpecEventsDispatcher.emit(self, 'disconnected', ())
def simulationStatusChanged(self, sim_state): self.simulation_mode = sim_state SpecEventsDispatcher.emit(self, 'simulation', (sim_state, ))
def update(self, value, deleted = False,force=False): """Update channel's value and emit the 'valueChanged' signal.""" # receive dictionary - access1 is set (init with var/arr/idx1 or var/arr/idx1/idx2 ) if isinstance(value, dict) and self.access1 is not None: if self.access1 in value: if deleted: SpecEventsDispatcher.emit(self, 'valueChanged', (None, self.name, )) else: if self.access2 is None: if force or self.value is None or self.value != value[self.access1]: self.value = value[self.access1] SpecEventsDispatcher.emit(self, 'valueChanged', (self.value, self.name, )) else: if self.access2 in value[self.access1]: if deleted: SpecEventsDispatcher.emit(self, 'valueChanged', (None, self.name, )) else: if force or self.value is None or self.value != value[self.access1][self.access2]: self.value = value[self.access1][self.access2] SpecEventsDispatcher.emit(self, 'valueChanged', (self.value, self.name, )) return # receive dictionary - access1 is not set (init with var/arr) if isinstance(self.value, dict) and isinstance(value, dict): # update dictionary if deleted: for key,val in iter(value.items()): if isinstance(val,dict): for k in val: try: del self.value[key][k] except KeyError: pass if len(self.value[key])==1 and None in self.value[key]: self.value[key]=self.value[key][None] else: try: del self.value[key] except KeyError: pass else: for k1,v1 in iter(value.items()): if isinstance(v1,dict): try: self.value[k1].update(v1) except KeyError: self.value[k1]=v1 except AttributeError: self.value[k1]={None: self.value[k1]} self.value[k1].update(v1) else: if k1 in self.value.keys() and isinstance(self.value[k1], dict): self.value[k1][None] = v1 else: self.value[k1] = v1 value2emit=self.value.copy() SpecEventsDispatcher.emit(self, 'valueChanged', (value2emit, self.name, )) return # no assoc array - (init with var/var_name) if deleted: self.value = None else: self.value = value SpecEventsDispatcher.emit(self, 'valueChanged', (self.value, self.name, ))
def error(self, error): """Emit the 'error' signal when the remote Spec version signals an error.""" log.error('Error from Spec: %s', error) SpecEventsDispatcher.emit(self, 'error', (error, ))