Ejemplo n.º 1
0
class Example(object):

    def __init__(self):
        self.simple_attribute = 12
        self._private_value = 42
        self.dict_attribute = {1: 2}

        self._rw_prop = 42
        self._ro_prop = 42
        self._wo_prop = 42
        self.rw_prop_changed = Signal()
        self.wo_prop_changed = Signal()


    @property
    def rw_prop(self):
        return self._rw_prop

    @rw_prop.setter
    def rw_prop(self, value):
        if self._rw_prop == value:
            return
        self.rw_prop_changed.emit(value)
        self._rw_prop = value

    @property
    def ro_prop(self):
        return self._ro_prop

    def wo_prop(self, value):
        if self._wo_prop == value:
            return
        self.wo_prop_changed.emit(value)
        self._wo_prop = value

    wo_prop = property(None, wo_prop)

    def fun_simple(self):
        return 46

    def fun_arg1(self, x):
        return x + 2

    def fun_arg2(self, x=2, y=3):
        return x ** y

    def fun_raise(self):
        raise ValueError('Bla')

    def fut(self):
        def fun():
            time.sleep(1)
            return 10
        return executor.submit(fun)

    def fut_raise(self):
        def fun():
            time.sleep(1)
            raise ValueError
        return executor.submit(fun)
Ejemplo n.º 2
0
class Example(object):
    def __init__(self):
        self.simple_attribute = 12
        self._private_value = 42
        self.dict_attribute = {1: 2}

        self._rw_prop = 42
        self._ro_prop = 42
        self._wo_prop = 42
        self.rw_prop_changed = Signal()
        self.wo_prop_changed = Signal()

    @property
    def rw_prop(self):
        return self._rw_prop

    @rw_prop.setter
    def rw_prop(self, value):
        if self._rw_prop == value:
            return
        self.rw_prop_changed.emit(value)
        self._rw_prop = value

    @property
    def ro_prop(self):
        return self._ro_prop

    def wo_prop(self, value):
        if self._wo_prop == value:
            return
        self.wo_prop_changed.emit(value)
        self._wo_prop = value

    wo_prop = property(None, wo_prop)

    def fun_simple(self):
        return 46

    def fun_arg1(self, x):
        return x + 2

    def fun_arg2(self, x=2, y=3):
        return x**y

    def fun_raise(self):
        raise ValueError('Bla')

    def fut(self):
        def fun():
            time.sleep(1)
            return 10

        return executor.submit(fun)

    def fut_raise(self):
        def fun():
            time.sleep(1)
            raise ValueError

        return executor.submit(fun)
Ejemplo n.º 3
0
    def __init__(self):
        self.simple_attribute = 12
        self._private_value = 42
        self.dict_attribute = {1: 2}

        self._rw_prop = 42
        self._ro_prop = 42
        self._wo_prop = 42
        self.rw_prop_changed = Signal()
        self.wo_prop_changed = Signal()
Ejemplo n.º 4
0
    def __init__(self):
        self.simple_attribute = 12
        self._private_value = 42
        self.dict_attribute = {1: 2}

        self._rw_prop = 42
        self._ro_prop = 42
        self._wo_prop = 42
        self.rw_prop_changed = Signal()
        self.wo_prop_changed = Signal()
Ejemplo n.º 5
0
 def test_thread():
     std_signal = Signal(1)
     test_built_in = Signal(2)
     std_signal.connect(pg.setValue)
     test_built_in.connect(pg.setRange)
     v_int = 0
     while True:
         v_int += 1
         std_signal.emit(v_int)
         test_built_in.emit(0,10)
         time.sleep(0.5)
         if v_int == 5:
             break
     pg.close()
Ejemplo n.º 6
0
class RemotePizcoEmitter(object):
    std_signal = Signal.Auto()

    def __init__(self):
        self._nframe = 0

    def emission(self):
        self._nframe += 1
        self.std_signal.emit(self._nframe)
Ejemplo n.º 7
0
class House(object):

    def __init__(self):
        logger.info('Welcome to your new house')
        self._door_open = False
        self._lights_on = False

        self.door_open_changed = Signal()
        self.lights_on_changed = Signal()

        self.color_changed = Signal()

        self._pool = futures.ThreadPoolExecutor(max_workers=1)

    @property
    def door_open(self):
        logger.info('Getting door_open')
        return self._door_open

    @door_open.setter
    def door_open(self, value):
        if value not in (True, False):
            raise ValueError("'{}' is not a valid value for door_open".format(value))
        logger.info('Setting door_open to {}'.format(value))
        if self._door_open == value:
            logger.info('No need to change door_open')
            return

        self.door_open_changed.emit(value, self._door_open)
        self._door_open = value

    @property
    def lights_on(self):
        return self._lights_on

    @lights_on.setter
    def lights_on(self, value):
        if value not in (True, False):
            raise ValueError("'{}' is not a valid value for lights_on".format(value))
        logger.info('Setting lights_on to {}'.format(value))
        if self._lights_on == value:
            logger.info('No need to change lights_on')
            return
        self.lights_on_changed.emit(value, self._lights_on)
        self._lights_on = value

    def paint(self, color):
        if color not in COLORS:
            raise ValueError("'{}' is not a valid color ({})".format(color, COLORS))
        logger.info('Painting: {}'.format(color))
        time.sleep(.5)
        self.color_changed.emit(color)
        logger.info('Painted: {}'.format(color))

    def _changing_roof(self):
        time.sleep(1)
        return 'You have a new roof'

    def change_roof(self):
        return self._pool.submit(self._changing_roof)
Ejemplo n.º 8
0
    def __init__(self):
        logger.info('Welcome to your new house')
        self._door_open = False
        self._lights_on = False

        self.door_open_changed = Signal()
        self.lights_on_changed = Signal()

        self.color_changed = Signal()

        self._pool = futures.ThreadPoolExecutor(max_workers=1)
Ejemplo n.º 9
0
 def test_thread():
     std_signal = Signal(1)
     test_built_in = Signal(2)
     std_signal.connect(pg.setValue)
     test_built_in.connect(pg.setRange)
     v_int = 0
     while True:
         v_int += 1
         std_signal.emit(v_int)
         test_built_in.emit(0, 10)
         time.sleep(0.5)
         if v_int == 5:
             break
     pg.close()