You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2020/05/12 19:49:00 UTC

[jira] [Commented] (PROTON-2218) Connector.user and Connector.Password are None

    [ https://issues.apache.org/jira/browse/PROTON-2218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17105693#comment-17105693 ] 

Jiri Daněk commented on PROTON-2218:
------------------------------------

The way {{**kwargs}} works in Python is that it collects all keyword parameters which are not given explicitly in function definition.

bq. When a final formal parameter of the form **name is present, it receives a dictionary (see Mapping Types — dict) containing all keyword arguments except for those corresponding to a formal parameter. https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments

You do not specify a {{kwargs}} parameter explicitly, as a dictionary. Instead, you just pass the keys as keyword arguments, and Python collects them into the {{kwargs}}.

 !jd_answer_1.png! 

> Connector.user and Connector.Password are None
> ----------------------------------------------
>
>                 Key: PROTON-2218
>                 URL: https://issues.apache.org/jira/browse/PROTON-2218
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: proton-c-0.30.0
>            Reporter: Angelo Mendonca
>            Priority: Major
>         Attachments: image-2020-05-12-14-18-33-313.png, jd_answer_1.png
>
>
>  
> {noformat}
>         connector.user = kwargs.get('user', self.user)
>         print("User", kwargs.get('user', self.user))
>         print(connector.user)
>         connector.password = kwargs.get('password', self.password)
>         print("password", kwargs.get('password', self.password))
>         print(connector.password){noformat}
> [https://github.com/apache/qpid-proton/blob/4265cc7ab8391630b47da2de4c1ead2f28763980/python/proton/_reactor.py#L1264]
>  
> [https://github.com/apache/qpid-proton/blob/4265cc7ab8391630b47da2de4c1ead2f28763980/python/proton/_reactor.py#L1265] 
> Dont see to exist in kwargs although the print statement just above the kwargs.get shows that user and password exist...
> The output is below..
>  
> {code:java}
> KWARGS {'kwargs': {'sasl_enabled': True, 'allow_insecure_mechs': True, 'password': 'DFfoSQM2ZYlLqCLm', 'user': 'DsWPjfKALYgKmtwsVGHBceceygn'}}
> User None
> None
> password None
> None
> {code}
>  
> The Code setups a container connection..
> !image-2020-05-12-14-18-33-313.png!
>  
> No idea why the user and password are not being set although kwagrs contains both the keys....I am trying to get failover to work with AWS Amazon MQ. Does BlockingConnection let you work with multiple URLS? Or do I need to use "container.connect"?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org