# HG changeset patch # User dporopat # Date 1528205398 -7200 # Node ID c27b820cb96bb98fd4af3022af83f0b122155045 # Parent 1e397afc36a95d8d472386c342c9d58466d75890 #2486 Exception if custom protocol options are wrong. diff -r 1e397afc36a9 -r c27b820cb96b runtime/WampClient.py --- a/runtime/WampClient.py Fri May 18 11:05:49 2018 +0200 +++ b/runtime/WampClient.py Tue Jun 05 15:29:58 2018 +0200 @@ -27,7 +27,6 @@ import time import json import os -import inspect import re from autobahn.twisted import wamp from autobahn.twisted.websocket import WampWebSocketClientFactory, connectWS @@ -137,14 +136,14 @@ global _transportFactory WampWebSocketClientFactory.__init__(self, *args, **kwargs) - protocolOptions = config.extra.get('protocolOptions', None) - if protocolOptions: - arguments = inspect.getargspec(self.setProtocolOptions).args - validProtocolOptions = getValidOptins(protocolOptions, arguments) - if validProtocolOptions: - self.setProtocolOptions(**validProtocolOptions) - #print(_("Added custom protocol options")) - _transportFactory = self + try: + protocolOptions = config.extra.get('protocolOptions', None) + if protocolOptions: + self.setProtocolOptions(**protocolOptions) + _transportFactory = self + except Exception, e: + print(_("Custom protocol options failed :"), e) + _transportFactory = None def buildProtocol(self, addr): self.resetDelay() @@ -199,6 +198,8 @@ with open(os.path.realpath(_WampConf), 'w') as f: json.dump(WSClientConf, f, sort_keys=True, indent=4) if 'active' in WSClientConf and WSClientConf['active']: + if _transportFactory and _WampSession: + StopReconnectWampClient() StartReconnectWampClient() else: StopReconnectWampClient() @@ -262,16 +263,20 @@ session_factory.session = WampSession # create a WAMP-over-WebSocket transport client factory - transport_factory = ReconnectingWampWebSocketClientFactory( + ReconnectingWampWebSocketClientFactory( component_config, session_factory, url=WSClientConf["url"], serializers=[MsgPackSerializer()]) # start the client from a Twisted endpoint - conn = connectWS(transport_factory) - print(_("WAMP client connecting to :"), WSClientConf["url"]) - return True + if _transportFactory: + conn = connectWS(_transportFactory) + print(_("WAMP client connecting to :"), WSClientConf["url"]) + return True + else: + print(_("WAMP client can not connect to :"), WSClientConf["url"]) + return False def StopReconnectWampClient():