Vaelor/python-mattermost-driver

Specify port leads to error. Make port optional?

Opened this issue · 0 comments

Hello,

I found this Python driver a few days ago. However, I am having some difficulties getting this driver to work. The login process always fails for me ( using personal access token). The error message looks very similar to the one in this closed thread.

Unfortunately you can't find anything on the internet, so today I decided to debug the source code and I found at least a solution for me.

I use the code from @IronVenom

from mattermostdriver import Driver

driver_options = {
        'url': "url",
        'token':'token'
}

driver = Driver(driver_options)

print("Authenticating...")
driver.login()
print("Successfully authenticated.")

As I said the error message is the same and I therefore save the error message see closed thread.

I noticed that to my URL regardless of whether I specify a port, the port is appended. So I wanted to know what happens if I leave that out.

My quick solution is:

 # client.py line 42

@staticmethod
def _make_url(scheme, url, port, basepath):
	if port == False:
		return f"{scheme:s}://{url:s}{basepath:s}"
	return f"{scheme:s}://{url:s}:{port:d}{basepath:s}"

The call to avoid having to specify the port would then look like this:

from mattermostdriver import Driver

driver_options = {
        'url': "url",
        'token':'token'
        'port': False,
}

driver = Driver(driver_options)

print("Authenticating...")
driver.login()
print("Successfully authenticated.")

With this small change at least the login process works. I haven't had the chance to test other calls via the API/Driver yet.

I can't judge myself if my implementation is good/bad. It only works for me. I myself am still learning Python and am not familiar with such developments.