diff options
author | Lorenz Diener <[email protected]> | 2019-04-28 21:15:47 +0200 |
---|---|---|
committer | Lorenz Diener <[email protected]> | 2019-04-28 21:15:47 +0200 |
commit | c82b0b19196d5d390419d71e2b45f11ec1c74a05 (patch) | |
tree | c0563458afd26ddf9c7ed705fdfbbba9ccdf87ac /mastodon | |
parent | c815cdb2128da4b9a96de56f739c1f24bf01755b (diff) | |
download | mastodon.py-c82b0b19196d5d390419d71e2b45f11ec1c74a05.tar.gz |
Add more parameters to search API
Diffstat (limited to 'mastodon')
-rw-r--r-- | mastodon/Mastodon.py | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py index 679aac8..dd710b7 100644 --- a/mastodon/Mastodon.py +++ b/mastodon/Mastodon.py | |||
@@ -1090,28 +1090,56 @@ class Mastodon: | |||
1090 | ### | 1090 | ### |
1091 | # Reading data: Searching | 1091 | # Reading data: Searching |
1092 | ### | 1092 | ### |
1093 | @api_version("1.1.0", "2.1.0", __DICT_VERSION_SEARCHRESULT) | 1093 | @api_version("2.8.0", "2.8.0", __DICT_VERSION_SEARCHRESULT) |
1094 | def search(self, q, resolve=False): | 1094 | def search(self, q, resolve=True, result_type=None, account_id=None, offset=None, min_id=None, max_id=None): |
1095 | """ | 1095 | """ |
1096 | Fetch matching hashtags, accounts and statuses. Will search federated | 1096 | Fetch matching hashtags, accounts and statuses. Will perform webfinger |
1097 | instances if resolve is True. Full-text search is only enabled if | 1097 | lookups if resolve is True. Full-text search is only enabled if |
1098 | the instance supports it, and is restricted to statuses the logged-in | 1098 | the instance supports it, and is restricted to statuses the logged-in |
1099 | user wrote or was mentioned in. | 1099 | user wrote or was mentioned in. |
1100 | |||
1101 | `result_type` can be one of "accounts", "hashtags" or "statuses", to only | ||
1102 | search for that type of object. | ||
1103 | |||
1104 | Specify `account_id` to only get results from the account with that id. | ||
1105 | |||
1106 | `offset`, `min_id` and `max_id` can be used to paginate. | ||
1107 | |||
1108 | Returns a `search result dict`_, with tags as `hashtag dicts`_. | ||
1109 | """ | ||
1110 | return self.search_v2(q, resolve=resolve, result_type=result_type, account_id=account_id, | ||
1111 | offset=offset, min_id=min_id, max_id=max_id) | ||
1112 | |||
1113 | @api_version("1.1.0", "2.1.0", __DICT_VERSION_SEARCHRESULT) | ||
1114 | def search_v1(self, q, resolve=False): | ||
1115 | """ | ||
1116 | Identical to `search_v2()`, except in that it does not return | ||
1117 | tags as `hashtag dicts`_. | ||
1100 | 1118 | ||
1101 | Returns a `search result dict`_. | 1119 | Returns a `search result dict`_. |
1102 | """ | 1120 | """ |
1103 | params = self.__generate_params(locals()) | 1121 | params = self.__generate_params(locals()) |
1122 | if resolve == False: | ||
1123 | del params['resolve'] | ||
1104 | return self.__api_request('GET', '/api/v1/search', params) | 1124 | return self.__api_request('GET', '/api/v1/search', params) |
1105 | 1125 | ||
1106 | @api_version("2.4.3", "2.4.3", __DICT_VERSION_SEARCHRESULT) | 1126 | @api_version("2.8.0", "2.8.0", __DICT_VERSION_SEARCHRESULT) |
1107 | def search_v2(self, q, resolve=False): | 1127 | def search_v2(self, q, resolve=True, result_type=None, account_id=None, offset=None, min_id=None, max_id=None): |
1108 | """ | 1128 | """ |
1109 | Identical to `search()`, except in that it returns tags as | 1129 | Identical to `search_v1()`, except in that it returns tags as |
1110 | `hashtag dicts`_. | 1130 | `hashtag dicts`_, has more parameters, and resolves by default. |
1111 | 1131 | ||
1112 | Returns a `search result dict`_. | 1132 | Returns a `search result dict`_. |
1113 | """ | 1133 | """ |
1114 | params = self.__generate_params(locals()) | 1134 | params = self.__generate_params(locals()) |
1135 | |||
1136 | if resolve == False: | ||
1137 | del params['resolve'] | ||
1138 | |||
1139 | if "result_type" in params: | ||
1140 | params["type"] = params["result_type"] | ||
1141 | del params["result_type"] | ||
1142 | |||
1115 | return self.__api_request('GET', '/api/v2/search', params) | 1143 | return self.__api_request('GET', '/api/v2/search', params) |
1116 | 1144 | ||
1117 | ### | 1145 | ### |