API Deprecation
For historical context refer to pull request #23.
The new API exposes all arguments explicitly instead of encapsulated in a dictionary. This change affects most endpoints that accept optional arguments including file uploads.
You won’t need to modify your code for calls such as these:
dri = Driver({
"scheme": "https",
"url": "mattermost.server.com",
"port": 443,
"token": "YourPersonalAccessToken",
dri.login()
team_id = dri.teams.get_team_by_name("default")["id"]
channel_id = dri.channels.get_channel_by_name(team_id, "town-square")
but for endpoint calls with options the old syntax:
dri.channels.create_channel(options={
"team_id": team_id,
"name": "awesome-channel",
"display_name": "Awesome Channel",
"type": "O",
})
requires an expansion of the options dictionary:
dri.channels.create_channel(**{
"team_id": team_id,
"name": "awesome-channel",
"display_name": "Awesome Channel",
"type": "O",
})
This shortcut works so long as none of the arguments clashes with python keywords.
Examples from clashes include from
or that arguments are passed explicitly:
dri.channels.create_channel(
team_id=team_id,
name="awesome-channel",
display_name="Awesome Channel",
type="O",
)
I want to continue using the old API
If you want to continue using the deprecated API you can do so by using Driver
instead of the new TypedDriver
which will allow you to use the old interface but will raise a DeprecationWarning
.
Please note that this interface will be removed in the future so we recommend that you update your code as soon as possible.