Mercurial > libervia-backend
comparison sat/bridge/bridge_constructor/constructors/pb/pb_frontend_template.py @ 2624:56f94936df1e
code style reformatting using black
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 27 Jun 2018 20:14:46 +0200 |
parents | 26edcf3a30eb |
children | 378188abe941 |
comparison
equal
deleted
inserted
replaced
2623:49533de4540b | 2624:56f94936df1e |
---|---|
1 #!/usr/bin/env python2 | 1 #!/usr/bin/env python2 |
2 #-*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 | 3 |
4 # SAT communication bridge | 4 # SAT communication bridge |
5 # Copyright (C) 2009-2018 Jérôme Poisson (goffi@goffi.org) | 5 # Copyright (C) 2009-2018 Jérôme Poisson (goffi@goffi.org) |
6 | 6 |
7 # This program is free software: you can redistribute it and/or modify | 7 # This program is free software: you can redistribute it and/or modify |
16 | 16 |
17 # You should have received a copy of the GNU Affero General Public License | 17 # You should have received a copy of the GNU Affero General Public License |
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 | 19 |
20 from sat.core.log import getLogger | 20 from sat.core.log import getLogger |
21 | |
21 log = getLogger(__name__) | 22 log = getLogger(__name__) |
22 from sat.core import exceptions | 23 from sat.core import exceptions |
23 from twisted.spread import pb | 24 from twisted.spread import pb |
24 from twisted.internet import reactor | 25 from twisted.internet import reactor |
25 | 26 |
26 | 27 |
27 class SignalsHandler(pb.Referenceable): | 28 class SignalsHandler(pb.Referenceable): |
28 | |
29 def __getattr__(self, name): | 29 def __getattr__(self, name): |
30 if name.startswith("remote_"): | 30 if name.startswith("remote_"): |
31 log.debug(u"calling an unregistered signal: {name}".format( | 31 log.debug(u"calling an unregistered signal: {name}".format(name=name[7:])) |
32 name = name[7:])) | |
33 return lambda *args, **kwargs: None | 32 return lambda *args, **kwargs: None |
34 | 33 |
35 else: | 34 else: |
36 raise AttributeError(name) | 35 raise AttributeError(name) |
37 | 36 |
41 try: | 40 try: |
42 self.__getattribute__(self, method_name) | 41 self.__getattribute__(self, method_name) |
43 except AttributeError: | 42 except AttributeError: |
44 pass | 43 pass |
45 else: | 44 else: |
46 raise exceptions.InternalError(u"{name} signal handler has been registered twice".format( | 45 raise exceptions.InternalError( |
47 name = method_name)) | 46 u"{name} signal handler has been registered twice".format( |
47 name=method_name | |
48 ) | |
49 ) | |
48 setattr(self, method_name, handler) | 50 setattr(self, method_name, handler) |
49 | 51 |
50 | 52 |
51 class Bridge(object): | 53 class Bridge(object): |
52 | |
53 def __init__(self): | 54 def __init__(self): |
54 self.signals_handler = SignalsHandler() | 55 self.signals_handler = SignalsHandler() |
55 | 56 |
56 def __getattr__(self, name): | 57 def __getattr__(self, name): |
57 return lambda *args, **kwargs: self.call(name, args, kwargs) | 58 return lambda *args, **kwargs: self.call(name, args, kwargs) |
79 may contain callback and errback | 80 may contain callback and errback |
80 """ | 81 """ |
81 callback = errback = None | 82 callback = errback = None |
82 if kwargs: | 83 if kwargs: |
83 try: | 84 try: |
84 callback = kwargs.pop('callback') | 85 callback = kwargs.pop("callback") |
85 except KeyError: | 86 except KeyError: |
86 pass | 87 pass |
87 try: | 88 try: |
88 errback = kwargs.pop('errback') | 89 errback = kwargs.pop("errback") |
89 except KeyError: | 90 except KeyError: |
90 pass | 91 pass |
91 elif len(args) >= 2 and callable(args[-1]) and callable(args[-2]): | 92 elif len(args) >= 2 and callable(args[-1]) and callable(args[-2]): |
92 errback = args.pop() | 93 errback = args.pop() |
93 callback = args.pop() | 94 callback = args.pop() |
122 d.addErrback(errback) | 123 d.addErrback(errback) |
123 | 124 |
124 def register_signal(self, functionName, handler, iface="core"): | 125 def register_signal(self, functionName, handler, iface="core"): |
125 self.signals_handler.register_signal(functionName, handler, iface) | 126 self.signals_handler.register_signal(functionName, handler, iface) |
126 | 127 |
128 | |
127 ##METHODS_PART## | 129 ##METHODS_PART## |