Fix search issue, add pathlib path support

pull/278/head
halcy 2022-11-23 23:48:38 +02:00
rodzic 268c2fea28
commit f6d12aa5b1
2 zmienionych plików z 13 dodań i 2 usunięć

Wyświetl plik

@ -10,6 +10,8 @@ v1.7.0
* Add missing streaming events * Add missing streaming events
* Add missing parameters on directory endpoint (thanks heharkon) * Add missing parameters on directory endpoint (thanks heharkon)
* This isn't somehing I changed but thank you a / triggerofsol for answering Many questions I had about specifics of what the API does that are not documented * This isn't somehing I changed but thank you a / triggerofsol for answering Many questions I had about specifics of what the API does that are not documented
* Fixed search ignoring `exclude_unreviewed` (Thanks acidghost)
* Add support for using pathlib paths when loading media files (Thanks reagle)
* TECHNICALLY BREAKING CHANGE, but I would be quite surprised if this actually breaks anyone: Date parsing will now, when the date string is empty, return Jan. 1st, 1970 instead. This is to work around what I assume is a bug in Pleroma. * TECHNICALLY BREAKING CHANGE, but I would be quite surprised if this actually breaks anyone: Date parsing will now, when the date string is empty, return Jan. 1st, 1970 instead. This is to work around what I assume is a bug in Pleroma.
v1.6.3 v1.6.3

Wyświetl plik

@ -57,6 +57,12 @@ try:
except ImportError: except ImportError:
magic = None magic = None
try:
from pathlib import PurePath
except:
class PurePath:
pass
### ###
# Version check functions, including decorator and parser # Version check functions, including decorator and parser
### ###
@ -1450,7 +1456,8 @@ class Mastodon:
`offset`, `min_id` and `max_id` can be used to paginate. `offset`, `min_id` and `max_id` can be used to paginate.
`exclude_unreviewed` can be used to restrict search results for hashtags to only `exclude_unreviewed` can be used to restrict search results for hashtags to only
those that have been reviewed by moderators. It is on by default. those that have been reviewed by moderators. It is on by default. When using the
v1 search API (pre 2.4.1), it is ignored.
Will use search_v1 (no tag dicts in return values) on Mastodon versions before Will use search_v1 (no tag dicts in return values) on Mastodon versions before
2.4.1), search_v2 otherwise. Parameters other than resolve are only available 2.4.1), search_v2 otherwise. Parameters other than resolve are only available
@ -1461,7 +1468,7 @@ class Mastodon:
Returns a `search result dict`_, with tags as `hashtag dicts`_. Returns a `search result dict`_, with tags as `hashtag dicts`_.
""" """
if self.verify_minimum_version("2.4.1", cached=True): if self.verify_minimum_version("2.4.1", cached=True):
return self.search_v2(q, resolve=resolve, result_type=result_type, account_id=account_id, offset=offset, min_id=min_id, max_id=max_id) return self.search_v2(q, resolve=resolve, result_type=result_type, account_id=account_id, offset=offset, min_id=min_id, max_id=max_id, exclude_unreviewed=exclude_unreviewed)
else: else:
self.__ensure_search_params_acceptable( self.__ensure_search_params_acceptable(
account_id, offset, min_id, max_id) account_id, offset, min_id, max_id)
@ -4101,6 +4108,8 @@ class Mastodon:
return mime_type return mime_type
def __load_media_file(self, media_file, mime_type=None, file_name=None): def __load_media_file(self, media_file, mime_type=None, file_name=None):
if isinstance(media_file, PurePath):
media_file = str(media_file)
if isinstance(media_file, str) and os.path.isfile(media_file): if isinstance(media_file, str) and os.path.isfile(media_file):
mime_type = self.__guess_type(media_file) mime_type = self.__guess_type(media_file)
media_file = open(media_file, 'rb') media_file = open(media_file, 'rb')