@@ -266,6 +266,12 @@ def get_default_config_filename() -> Optional[str]:
266
266
" mv ~/.humbugrc ~/.zuliprc\n " )
267
267
return config_file
268
268
269
+ def deprecated_request (request : Optional [Dict [str , Any ]]) -> Dict [str , Any ]:
270
+ if request is not None :
271
+ logger .warning ("Passing parameters as a dictionary will be removed in future versions." )
272
+ return request
273
+ return {}
274
+
269
275
def validate_boolean_field (field : Optional [Text ]) -> Union [bool , None ]:
270
276
if not isinstance (field , str ):
271
277
return None
@@ -1072,7 +1078,7 @@ def deregister(self, queue_id: str, timeout: Optional[float] = None) -> Dict[str
1072
1078
timeout = timeout ,
1073
1079
)
1074
1080
1075
- def get_profile (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1081
+ def get_profile (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1076
1082
'''
1077
1083
Example usage:
1078
1084
@@ -1082,7 +1088,7 @@ def get_profile(self, request: Optional[Dict[str, Any]] = None) -> Dict[str, Any
1082
1088
return self .call_endpoint (
1083
1089
url = 'users/me' ,
1084
1090
method = 'GET' ,
1085
- request = request ,
1091
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1086
1092
)
1087
1093
1088
1094
def get_user_presence (self , email : str ) -> Dict [str , Any ]:
@@ -1109,21 +1115,21 @@ def get_realm_presence(self) -> Dict[str, Any]:
1109
1115
method = 'GET' ,
1110
1116
)
1111
1117
1112
- def update_presence (self , request : Dict [str , Any ]) -> Dict [str , Any ]:
1118
+ def update_presence (self , request : Optional [ Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1113
1119
'''
1114
1120
Example usage:
1115
1121
1116
- >>> client.update_presence({
1122
+ >>> client.update_presence(
1117
1123
status='active',
1118
1124
ping_only=False,
1119
1125
new_user_input=False,
1120
- } )
1126
+ )
1121
1127
{'result': 'success', 'server_timestamp': 1333649180.7073195, 'presences': {'[email protected] ': { ... }}, 'msg': ''}
1122
1128
'''
1123
1129
return self .call_endpoint (
1124
1130
url = 'users/me/presence' ,
1125
1131
method = 'POST' ,
1126
- request = request ,
1132
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1127
1133
)
1128
1134
1129
1135
def get_streams (self , ** request : Any ) -> Dict [str , Any ]:
@@ -1228,22 +1234,22 @@ def update_user_by_id(self, user_id: int, **request: Any) -> Dict[str, Any]:
1228
1234
request = request
1229
1235
)
1230
1236
1231
- def get_users (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1237
+ def get_users (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1232
1238
'''
1233
1239
See examples/list-users for example usage.
1234
1240
'''
1235
1241
return self .call_endpoint (
1236
1242
url = 'users' ,
1237
1243
method = 'GET' ,
1238
- request = request ,
1244
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1239
1245
)
1240
1246
1241
- def get_members (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1247
+ def get_members (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1242
1248
# This exists for backwards-compatibility; we renamed this
1243
1249
# function get_users for consistency with the rest of the API.
1244
1250
# Later, we may want to add a warning for clients using this
1245
1251
# legacy name.
1246
- return self .get_users (request = request )
1252
+ return self .get_users (request = request , ** kwargs )
1247
1253
1248
1254
def get_alert_words (self ) -> Dict [str , Any ]:
1249
1255
'''
@@ -1278,14 +1284,14 @@ def remove_alert_words(self, alert_words: List[str]) -> Dict[str, Any]:
1278
1284
}
1279
1285
)
1280
1286
1281
- def list_subscriptions (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1287
+ def list_subscriptions (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1282
1288
'''
1283
1289
See examples/list-subscriptions for example usage.
1284
1290
'''
1285
1291
return self .call_endpoint (
1286
1292
url = 'users/me/subscriptions' ,
1287
1293
method = 'GET' ,
1288
- request = request ,
1294
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1289
1295
)
1290
1296
1291
1297
def add_subscriptions (self , streams : Iterable [Dict [str , Any ]], ** kwargs : Any ) -> Dict [str , Any ]:
@@ -1329,14 +1335,14 @@ def get_subscription_status(self, user_id: int, stream_id: int) -> Dict[str, Any
1329
1335
method = 'GET' ,
1330
1336
)
1331
1337
1332
- def mute_topic (self , request : Dict [str , Any ]) -> Dict [str , Any ]:
1338
+ def mute_topic (self , request : Optional [ Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1333
1339
'''
1334
1340
See examples/mute-topic for example usage.
1335
1341
'''
1336
1342
return self .call_endpoint (
1337
1343
url = 'users/me/subscriptions/muted_topics' ,
1338
1344
method = 'PATCH' ,
1339
- request = request
1345
+ request = { ** deprecated_request ( request ), ** kwargs },
1340
1346
)
1341
1347
1342
1348
def update_subscription_settings (self , subscription_data : List [Dict [str , Any ]]) -> Dict [str , Any ]:
@@ -1486,72 +1492,72 @@ def get_subscribers(self, **request: Any) -> Dict[str, Any]:
1486
1492
request = request ,
1487
1493
)
1488
1494
1489
- def render_message (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1495
+ def render_message (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1490
1496
'''
1491
1497
Example usage:
1492
1498
1493
- >>> client.render_message(request=dict( content='foo **bar**') )
1499
+ >>> client.render_message(content='foo **bar**')
1494
1500
{u'msg': u'', u'rendered': u'<p>foo <strong>bar</strong></p>', u'result': u'success'}
1495
1501
'''
1496
1502
return self .call_endpoint (
1497
1503
url = 'messages/render' ,
1498
1504
method = 'POST' ,
1499
- request = request ,
1505
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1500
1506
)
1501
1507
1502
- def create_user (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1508
+ def create_user (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1503
1509
'''
1504
1510
See examples/create-user for example usage.
1505
1511
'''
1506
1512
return self .call_endpoint (
1507
1513
method = 'POST' ,
1508
1514
url = 'users' ,
1509
- request = request ,
1515
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1510
1516
)
1511
1517
1512
- def update_storage (self , request : Dict [str , Any ]) -> Dict [str , Any ]:
1518
+ def update_storage (self , request : Optional [ Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1513
1519
'''
1514
1520
Example usage:
1515
1521
1516
- >>> client.update_storage({' storage': {"entry 1": "value 1", "entry 2": "value 2", "entry 3": "value 3"} })
1517
- >>> client.get_storage({' keys': ["entry 1", "entry 3"]} )
1522
+ >>> client.update_storage(storage = {"entry 1": "value 1", "entry 2": "value 2", "entry 3": "value 3"})
1523
+ >>> client.get_storage(keys = ["entry 1", "entry 3"])
1518
1524
{'result': 'success', 'storage': {'entry 1': 'value 1', 'entry 3': 'value 3'}, 'msg': ''}
1519
1525
'''
1520
1526
return self .call_endpoint (
1521
1527
url = 'bot_storage' ,
1522
1528
method = 'PUT' ,
1523
- request = request ,
1529
+ request = { ** deprecated_request ( request ), ** kwargs } ,
1524
1530
)
1525
1531
1526
- def get_storage (self , request : Optional [Dict [str , Any ]] = None ) -> Dict [str , Any ]:
1532
+ def get_storage (self , request : Optional [Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1527
1533
'''
1528
1534
Example usage:
1529
1535
1530
- >>> client.update_storage({' storage': {"entry 1": "value 1", "entry 2": "value 2", "entry 3": "value 3"} })
1536
+ >>> client.update_storage(storage = {"entry 1": "value 1", "entry 2": "value 2", "entry 3": "value 3"})
1531
1537
>>> client.get_storage()
1532
1538
{'result': 'success', 'storage': {"entry 1": "value 1", "entry 2": "value 2", "entry 3": "value 3"}, 'msg': ''}
1533
- >>> client.get_storage({' keys': ["entry 1", "entry 3"]} )
1539
+ >>> client.get_storage(keys = ["entry 1", "entry 3"])
1534
1540
{'result': 'success', 'storage': {'entry 1': 'value 1', 'entry 3': 'value 3'}, 'msg': ''}
1535
1541
'''
1536
1542
return self .call_endpoint (
1537
1543
url = 'bot_storage' ,
1538
1544
method = 'GET' ,
1539
- request = request ,
1545
+ request = { ** deprecated_request ( request ), ** kwargs }
1540
1546
)
1541
1547
1542
- def set_typing_status (self , request : Dict [str , Any ]) -> Dict [str , Any ]:
1548
+ def set_typing_status (self , request : Optional [ Dict [str , Any ]] = None , ** kwargs : Any ) -> Dict [str , Any ]:
1543
1549
'''
1544
1550
Example usage:
1545
- >>> client.set_typing_status({
1546
- 'op': 'start',
1547
- 'to': [9, 10],
1548
- } )
1551
+ >>> client.set_typing_status(
1552
+ op = 'start',
1553
+ to = [9, 10],
1554
+ )
1549
1555
{'result': 'success', 'msg': ''}
1550
1556
'''
1551
1557
return self .call_endpoint (
1552
1558
url = 'typing' ,
1553
1559
method = 'POST' ,
1554
- request = request
1560
+ request = { ** deprecated_request ( request ), ** kwargs },
1555
1561
)
1556
1562
1557
1563
def move_topic (
0 commit comments