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##