diff --git a/src/pydiscourse/client.py b/src/pydiscourse/client.py index bde18cd..63e4ecf 100644 --- a/src/pydiscourse/client.py +++ b/src/pydiscourse/client.py @@ -138,7 +138,7 @@ class DiscourseClient(object): Returns: user """ - return self._get('/admin/users/{0}.json'.format(pk)) + return self._get("/admin/users/{0}.json".format(pk)) def user_by_email(self, email): """ @@ -150,7 +150,7 @@ class DiscourseClient(object): Returns: user """ - return self._get('/admin/users/list/all.json?email={0}'.format(email)) + return self._get("/admin/users/list/all.json?email={0}".format(email)) def create_user(self, name, username, email, password, **kwargs): """ @@ -539,7 +539,7 @@ class DiscourseClient(object): Returns: List of top topics """ - return self._get('/top.json', **kwargs) + return self._get("/top.json", **kwargs) def latest_topics(self, **kwargs): """ @@ -631,7 +631,7 @@ class DiscourseClient(object): Returns: post """ - return self._get('/posts/{0}.json'.format(post_id), **kwargs) + return self._get("/posts/{0}.json".format(post_id), **kwargs) def posts(self, topic_id, post_ids=None, **kwargs): """ @@ -767,7 +767,7 @@ class DiscourseClient(object): See https://meta.discourse.org/t/what-is-a-bump/105562 """ - return self._put('/t/{0}/reset-bump-date'.format(topic_id), **kwargs) + return self._put("/t/{0}/reset-bump-date".format(topic_id), **kwargs) def topics_by(self, username, **kwargs): """ @@ -946,15 +946,15 @@ class DiscourseClient(object): """ Get site settings """ - return self._get('/admin/site_settings.json') + return self._get("/admin/site_settings.json") def category_latest_topics(self, name, parent=None, **kwargs): """ Get latest topics from a category """ if parent: - name = u'{0}/{1}'.format(parent, name) - return self._get(u'/c/{0}/l/latest.json'.format(name), **kwargs) + name = u"{0}/{1}".format(parent, name) + return self._get(u"/c/{0}/l/latest.json".format(name), **kwargs) def site_settings(self, **kwargs): """ @@ -1382,7 +1382,9 @@ class DiscourseClient(object): Requires discourse-data-explorer installed https://github.com/discourse/discourse-data-explorer """ - return self._post('/admin/plugins/explorer/queries/{}/run'.format(query_id), **kwargs) + return self._post( + "/admin/plugins/explorer/queries/{}/run".format(query_id), **kwargs + ) def notifications(self, category_id, **kwargs): """ @@ -1394,7 +1396,7 @@ class DiscourseClient(object): notification_level=(int) """ - return self._post('/category/{}/notifications'.format(category_id), **kwargs) + return self._post("/category/{}/notifications".format(category_id), **kwargs) def _get(self, path, override_request_kwargs=None, **kwargs): """ @@ -1406,7 +1408,9 @@ class DiscourseClient(object): Returns: """ - return self._request(GET, path, params=kwargs, override_request_kwargs=override_request_kwargs) + return self._request( + GET, path, params=kwargs, override_request_kwargs=override_request_kwargs + ) def _put(self, path, json=False, override_request_kwargs=None, **kwargs): """ @@ -1419,12 +1423,18 @@ class DiscourseClient(object): """ if not json: - return self._request(PUT, path, data=kwargs, override_request_kwargs=override_request_kwargs) + return self._request( + PUT, path, data=kwargs, override_request_kwargs=override_request_kwargs + ) else: - return self._request(PUT, path, json=kwargs, override_request_kwargs=override_request_kwargs) + return self._request( + PUT, path, json=kwargs, override_request_kwargs=override_request_kwargs + ) - def _post(self, path, files=None, json=False, override_request_kwargs=None, **kwargs): + def _post( + self, path, files=None, json=False, override_request_kwargs=None, **kwargs + ): """ Args: @@ -1435,10 +1445,22 @@ class DiscourseClient(object): """ if not json: - return self._request(POST, path, files=files, data=kwargs, override_request_kwargs=override_request_kwargs) + return self._request( + POST, + path, + files=files, + data=kwargs, + override_request_kwargs=override_request_kwargs, + ) else: - return self._request(POST, path, files=files, json=kwargs, override_request_kwargs=override_request_kwargs) + return self._request( + POST, + path, + files=files, + json=kwargs, + override_request_kwargs=override_request_kwargs, + ) def _delete(self, path, override_request_kwargs=None, **kwargs): """ @@ -1450,10 +1472,19 @@ class DiscourseClient(object): Returns: """ - return self._request(DELETE, path, params=kwargs, override_request_kwargs=override_request_kwargs) + return self._request( + DELETE, path, params=kwargs, override_request_kwargs=override_request_kwargs + ) def _request( - self, verb, path, params=None, files=None, data=None, json=None, override_request_kwargs=None + self, + verb, + path, + params=None, + files=None, + data=None, + json=None, + override_request_kwargs=None, ): """ Executes HTTP request to API and handles response @@ -1462,7 +1493,8 @@ class DiscourseClient(object): verb: HTTP verb as string: GET, DELETE, PUT, POST path: the path on the Discourse API params: dictionary of parameters to include to the API - override_request_kwargs: dictionary of requests.request keyword arguments to override defaults + override_request_kwargs: dictionary of requests.request + keyword arguments to override defaults Returns: dictionary of response body data or None diff --git a/src/pydiscourse/main.py b/src/pydiscourse/main.py index fc9340c..0e42bff 100644 --- a/src/pydiscourse/main.py +++ b/src/pydiscourse/main.py @@ -15,6 +15,7 @@ from pydiscourse.client import DiscourseClient, DiscourseError class DiscourseCmd(cmd.Cmd): """Handles CLI commands""" + prompt = "discourse>" output = sys.stdout