diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6bbfa153f..dadbcfc26 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: files: ^(.*\.toml)$ - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.11 + rev: v0.1.14 hooks: - id: ruff args: [ --exit-non-zero-on-fix, --fix ] @@ -51,7 +51,7 @@ repos: - repo: https://github.com/psf/black hooks: - id: black - rev: 23.12.1 + rev: 24.1.1 - repo: https://github.com/LilSpazJoekp/docstrfmt hooks: diff --git a/praw/__init__.py b/praw/__init__.py index 8d6c7f37e..422aa8e11 100644 --- a/praw/__init__.py +++ b/praw/__init__.py @@ -8,5 +8,6 @@ More information about PRAW can be found at https://github.com/praw-dev/praw. """ + from .const import __version__ from .reddit import Reddit diff --git a/praw/config.py b/praw/config.py index a89f66d1c..a1f856753 100644 --- a/praw/config.py +++ b/praw/config.py @@ -1,4 +1,5 @@ """Provides the code to load PRAW's configuration file ``praw.ini``.""" + from __future__ import annotations import configparser diff --git a/praw/const.py b/praw/const.py index bb057b1d1..bd1634eb8 100644 --- a/praw/const.py +++ b/praw/const.py @@ -1,4 +1,5 @@ """PRAW constants.""" + from .endpoints import API_PATH # noqa: F401 __version__ = "7.7.2.dev0" diff --git a/praw/endpoints.py b/praw/endpoints.py index 1c4f12df1..d72fddc55 100644 --- a/praw/endpoints.py +++ b/praw/endpoints.py @@ -1,4 +1,5 @@ """List of API endpoints PRAW knows about.""" + # fmt: off API_PATH = { "about_edited": "r/{subreddit}/about/edited/", diff --git a/praw/exceptions.py b/praw/exceptions.py index 98b7dec02..96e174d1b 100644 --- a/praw/exceptions.py +++ b/praw/exceptions.py @@ -7,6 +7,7 @@ All other exceptions are subclassed from :class:`.ClientException`. """ + from __future__ import annotations from typing import Any @@ -216,12 +217,14 @@ def parse_exception_list( ) -> list[RedditErrorItem]: """Covert an exception list into a :class:`.RedditErrorItem` list.""" return [ - exception - if isinstance(exception, RedditErrorItem) - else RedditErrorItem( - error_type=exception[0], - field=exception[2] if bool(exception[2]) else "", - message=exception[1] if bool(exception[1]) else "", + ( + exception + if isinstance(exception, RedditErrorItem) + else RedditErrorItem( + error_type=exception[0], + field=exception[2] if bool(exception[2]) else "", + message=exception[1] if bool(exception[1]) else "", + ) ) for exception in exceptions ] diff --git a/praw/models/__init__.py b/praw/models/__init__.py index 648cc644b..d363c3da2 100644 --- a/praw/models/__init__.py +++ b/praw/models/__init__.py @@ -1,4 +1,5 @@ """Provide the PRAW models.""" + from .auth import Auth from .front import Front from .helpers import DraftHelper, LiveHelper, MultiredditHelper, SubredditHelper diff --git a/praw/models/auth.py b/praw/models/auth.py index 9385a051c..ab593cd04 100644 --- a/praw/models/auth.py +++ b/praw/models/auth.py @@ -1,4 +1,5 @@ """Provide the Auth class.""" + from __future__ import annotations from prawcore import Authorizer, ImplicitAuthorizer, UntrustedAuthenticator, session diff --git a/praw/models/base.py b/praw/models/base.py index 8e78698d0..2c0fa3ee1 100644 --- a/praw/models/base.py +++ b/praw/models/base.py @@ -1,4 +1,5 @@ """Provide the PRAWBase superclass.""" + from __future__ import annotations from copy import deepcopy diff --git a/praw/models/comment_forest.py b/praw/models/comment_forest.py index e55334b6a..93a917798 100644 --- a/praw/models/comment_forest.py +++ b/praw/models/comment_forest.py @@ -1,4 +1,5 @@ """Provide CommentForest for submission comments.""" + from __future__ import annotations from heapq import heappop, heappush diff --git a/praw/models/front.py b/praw/models/front.py index dedbd2818..9155991ba 100644 --- a/praw/models/front.py +++ b/praw/models/front.py @@ -1,4 +1,5 @@ """Provide the Front class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Iterator diff --git a/praw/models/helpers.py b/praw/models/helpers.py index 9770119c4..a00c2ebbf 100644 --- a/praw/models/helpers.py +++ b/praw/models/helpers.py @@ -1,4 +1,5 @@ """Provide the helper classes.""" + from __future__ import annotations from json import dumps @@ -73,10 +74,9 @@ def create( selftext: str | None = None, send_replies: bool = True, spoiler: bool = False, - subreddit: str - | praw.models.Subreddit - | praw.models.UserSubreddit - | None = None, + subreddit: ( + str | praw.models.Subreddit | praw.models.UserSubreddit | None + ) = None, title: str | None = None, url: str | None = None, **draft_kwargs: Any, diff --git a/praw/models/inbox.py b/praw/models/inbox.py index 84b922f79..6047944ff 100644 --- a/praw/models/inbox.py +++ b/praw/models/inbox.py @@ -1,4 +1,5 @@ """Provide the Front class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Iterator diff --git a/praw/models/list/base.py b/praw/models/list/base.py index 0d52d61ac..691935f45 100644 --- a/praw/models/list/base.py +++ b/praw/models/list/base.py @@ -1,4 +1,5 @@ """Provide the BaseList class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Iterator diff --git a/praw/models/list/draft.py b/praw/models/list/draft.py index b54ee2118..1bdc6bada 100644 --- a/praw/models/list/draft.py +++ b/praw/models/list/draft.py @@ -1,4 +1,5 @@ """Provide the DraftList class.""" + from .base import BaseList diff --git a/praw/models/list/moderated.py b/praw/models/list/moderated.py index d4c2884d2..d33960f41 100644 --- a/praw/models/list/moderated.py +++ b/praw/models/list/moderated.py @@ -1,4 +1,5 @@ """Provide the ModeratedList class.""" + from .base import BaseList diff --git a/praw/models/list/redditor.py b/praw/models/list/redditor.py index 457eaade2..a94e9b003 100644 --- a/praw/models/list/redditor.py +++ b/praw/models/list/redditor.py @@ -1,4 +1,5 @@ """Provide the RedditorList class.""" + from .base import BaseList diff --git a/praw/models/list/trophy.py b/praw/models/list/trophy.py index cd0ee236c..ff6a734c0 100644 --- a/praw/models/list/trophy.py +++ b/praw/models/list/trophy.py @@ -1,4 +1,5 @@ """Provide the TrophyList class.""" + from .base import BaseList diff --git a/praw/models/listing/domain.py b/praw/models/listing/domain.py index 975aaa52f..ea1aaef9c 100644 --- a/praw/models/listing/domain.py +++ b/praw/models/listing/domain.py @@ -1,4 +1,5 @@ """Provide the DomainListing class.""" + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/praw/models/listing/generator.py b/praw/models/listing/generator.py index 2e2365bb3..e8ce73065 100644 --- a/praw/models/listing/generator.py +++ b/praw/models/listing/generator.py @@ -1,4 +1,5 @@ """Provide the ListingGenerator class.""" + from __future__ import annotations from copy import deepcopy diff --git a/praw/models/listing/listing.py b/praw/models/listing/listing.py index 01c0f7fde..2b7bc6efb 100644 --- a/praw/models/listing/listing.py +++ b/praw/models/listing/listing.py @@ -1,4 +1,5 @@ """Provide the Listing class.""" + from __future__ import annotations from typing import Any diff --git a/praw/models/listing/mixins/__init__.py b/praw/models/listing/mixins/__init__.py index e04676b6a..06fb5b385 100644 --- a/praw/models/listing/mixins/__init__.py +++ b/praw/models/listing/mixins/__init__.py @@ -1,4 +1,5 @@ """Package providing models that pertain to listing mixins.""" + from .base import BaseListingMixin from .redditor import RedditorListingMixin from .rising import RisingListingMixin diff --git a/praw/models/listing/mixins/base.py b/praw/models/listing/mixins/base.py index bba3f8fb0..5b5a62691 100644 --- a/praw/models/listing/mixins/base.py +++ b/praw/models/listing/mixins/base.py @@ -1,4 +1,5 @@ """Provide the BaseListingMixin class.""" + from __future__ import annotations from typing import Any, Iterator diff --git a/praw/models/listing/mixins/gilded.py b/praw/models/listing/mixins/gilded.py index 1b7a21df0..096825880 100644 --- a/praw/models/listing/mixins/gilded.py +++ b/praw/models/listing/mixins/gilded.py @@ -1,4 +1,5 @@ """Provide the GildedListingMixin class.""" + from __future__ import annotations from typing import Any, Iterator diff --git a/praw/models/listing/mixins/redditor.py b/praw/models/listing/mixins/redditor.py index acbf4fca3..c5d3c3c4d 100644 --- a/praw/models/listing/mixins/redditor.py +++ b/praw/models/listing/mixins/redditor.py @@ -1,4 +1,5 @@ """Provide the RedditorListingMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Iterator diff --git a/praw/models/listing/mixins/rising.py b/praw/models/listing/mixins/rising.py index b326cea23..ed9debf4c 100644 --- a/praw/models/listing/mixins/rising.py +++ b/praw/models/listing/mixins/rising.py @@ -1,4 +1,5 @@ """Provide the RisingListingMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Iterator diff --git a/praw/models/listing/mixins/submission.py b/praw/models/listing/mixins/submission.py index 8c7cbdef0..9dcf64ea4 100644 --- a/praw/models/listing/mixins/submission.py +++ b/praw/models/listing/mixins/submission.py @@ -1,4 +1,5 @@ """Provide the SubmissionListingMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Iterator diff --git a/praw/models/listing/mixins/subreddit.py b/praw/models/listing/mixins/subreddit.py index b6014f9c8..e03f5c474 100644 --- a/praw/models/listing/mixins/subreddit.py +++ b/praw/models/listing/mixins/subreddit.py @@ -1,4 +1,5 @@ """Provide the SubredditListingMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Iterator diff --git a/praw/models/mod_action.py b/praw/models/mod_action.py index 0a02b8ed2..9730445bd 100644 --- a/praw/models/mod_action.py +++ b/praw/models/mod_action.py @@ -1,4 +1,5 @@ """Provide the ModAction class.""" + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/praw/models/mod_note.py b/praw/models/mod_note.py index e26153f22..2cf9cf9ba 100644 --- a/praw/models/mod_note.py +++ b/praw/models/mod_note.py @@ -1,4 +1,5 @@ """Provide the ModNote class.""" + from __future__ import annotations from ..endpoints import API_PATH diff --git a/praw/models/mod_notes.py b/praw/models/mod_notes.py index 28662611b..012b0e766 100644 --- a/praw/models/mod_notes.py +++ b/praw/models/mod_notes.py @@ -1,4 +1,5 @@ """Provides classes for interacting with moderator notes.""" + from itertools import islice from typing import TYPE_CHECKING, Any, Generator, List, Optional, Tuple, Union diff --git a/praw/models/preferences.py b/praw/models/preferences.py index 955dad70a..bf67dacc7 100644 --- a/praw/models/preferences.py +++ b/praw/models/preferences.py @@ -1,4 +1,5 @@ """Provide the Preferences class.""" + from __future__ import annotations from json import dumps diff --git a/praw/models/reddit/base.py b/praw/models/reddit/base.py index 316fee279..289a19471 100644 --- a/praw/models/reddit/base.py +++ b/praw/models/reddit/base.py @@ -1,4 +1,5 @@ """Provide the RedditBase class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any diff --git a/praw/models/reddit/collections.py b/praw/models/reddit/collections.py index cb5b33e5c..fd4f20b05 100644 --- a/praw/models/reddit/collections.py +++ b/praw/models/reddit/collections.py @@ -1,4 +1,5 @@ """Provide Collections functionality.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Generator diff --git a/praw/models/reddit/comment.py b/praw/models/reddit/comment.py index 57251be0c..6e7b3cbde 100644 --- a/praw/models/reddit/comment.py +++ b/praw/models/reddit/comment.py @@ -1,4 +1,5 @@ """Provide the Comment class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any diff --git a/praw/models/reddit/draft.py b/praw/models/reddit/draft.py index 28320c6bb..65d614945 100644 --- a/praw/models/reddit/draft.py +++ b/praw/models/reddit/draft.py @@ -1,4 +1,5 @@ """Provide the draft class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any @@ -76,9 +77,11 @@ def _prepare_data( data.update( { "subreddit": subreddit.fullname, - "target": "profile" - if subreddit.display_name.startswith("u_") - else "subreddit", + "target": ( + "profile" + if subreddit.display_name.startswith("u_") + else "subreddit" + ), } ) data.update(draft_kwargs) @@ -144,10 +147,9 @@ def submit( nsfw: bool | None = None, selftext: str | None = None, spoiler: bool | None = None, - subreddit: str - | praw.models.Subreddit - | praw.models.UserSubreddit - | None = None, + subreddit: ( + str | praw.models.Subreddit | praw.models.UserSubreddit | None + ) = None, title: str | None = None, url: str | None = None, **submit_kwargs: Any, @@ -238,10 +240,9 @@ def update( selftext: str | None = None, send_replies: bool | None = None, spoiler: bool | None = None, - subreddit: str - | praw.models.Subreddit - | praw.models.UserSubreddit - | None = None, + subreddit: ( + str | praw.models.Subreddit | praw.models.UserSubreddit | None + ) = None, title: str | None = None, url: str | None = None, **draft_kwargs: Any, diff --git a/praw/models/reddit/emoji.py b/praw/models/reddit/emoji.py index 791fb1d63..576212573 100644 --- a/praw/models/reddit/emoji.py +++ b/praw/models/reddit/emoji.py @@ -1,4 +1,5 @@ """Provide the Emoji class.""" + from __future__ import annotations from pathlib import Path diff --git a/praw/models/reddit/inline_media.py b/praw/models/reddit/inline_media.py index 0b3f90b75..ec55a1a6f 100644 --- a/praw/models/reddit/inline_media.py +++ b/praw/models/reddit/inline_media.py @@ -1,4 +1,5 @@ """Provide classes related to inline media.""" + from __future__ import annotations from ..util import _deprecate_args diff --git a/praw/models/reddit/live.py b/praw/models/reddit/live.py index 1f97fea42..e20d9a439 100644 --- a/praw/models/reddit/live.py +++ b/praw/models/reddit/live.py @@ -1,4 +1,5 @@ """Provide the LiveThread class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Iterable, Iterator diff --git a/praw/models/reddit/message.py b/praw/models/reddit/message.py index f379025e4..bf62ff007 100644 --- a/praw/models/reddit/message.py +++ b/praw/models/reddit/message.py @@ -1,4 +1,5 @@ """Provide the Message class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any diff --git a/praw/models/reddit/mixins/__init__.py b/praw/models/reddit/mixins/__init__.py index dea1a280b..d6413ed28 100644 --- a/praw/models/reddit/mixins/__init__.py +++ b/praw/models/reddit/mixins/__init__.py @@ -1,4 +1,5 @@ """Package providing reddit class mixins.""" + from __future__ import annotations from json import dumps diff --git a/praw/models/reddit/mixins/editable.py b/praw/models/reddit/mixins/editable.py index 55fb2a80a..b87ff0c0e 100644 --- a/praw/models/reddit/mixins/editable.py +++ b/praw/models/reddit/mixins/editable.py @@ -1,4 +1,5 @@ """Provide the EditableMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/praw/models/reddit/mixins/gildable.py b/praw/models/reddit/mixins/gildable.py index 11d3e38b2..9f814a27d 100644 --- a/praw/models/reddit/mixins/gildable.py +++ b/praw/models/reddit/mixins/gildable.py @@ -1,4 +1,5 @@ """Provide the GildableMixin class.""" + from warnings import warn from ....const import API_PATH diff --git a/praw/models/reddit/mixins/inboxable.py b/praw/models/reddit/mixins/inboxable.py index 95de5458e..23c99975d 100644 --- a/praw/models/reddit/mixins/inboxable.py +++ b/praw/models/reddit/mixins/inboxable.py @@ -1,4 +1,5 @@ """Provide the InboxableMixin class.""" + from ....const import API_PATH diff --git a/praw/models/reddit/mixins/inboxtoggleable.py b/praw/models/reddit/mixins/inboxtoggleable.py index 04111098b..177d6c907 100644 --- a/praw/models/reddit/mixins/inboxtoggleable.py +++ b/praw/models/reddit/mixins/inboxtoggleable.py @@ -1,4 +1,5 @@ """Provide the InboxToggleableMixin class.""" + from ....const import API_PATH diff --git a/praw/models/reddit/mixins/messageable.py b/praw/models/reddit/mixins/messageable.py index b54a37b8c..fafb3427a 100644 --- a/praw/models/reddit/mixins/messageable.py +++ b/praw/models/reddit/mixins/messageable.py @@ -1,4 +1,5 @@ """Provide the MessageableMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/praw/models/reddit/mixins/modnote.py b/praw/models/reddit/mixins/modnote.py index 505b31d00..df5224103 100644 --- a/praw/models/reddit/mixins/modnote.py +++ b/praw/models/reddit/mixins/modnote.py @@ -1,4 +1,5 @@ """Provide the ModNoteMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Generator diff --git a/praw/models/reddit/mixins/replyable.py b/praw/models/reddit/mixins/replyable.py index 9f4753371..2b48d2c54 100644 --- a/praw/models/reddit/mixins/replyable.py +++ b/praw/models/reddit/mixins/replyable.py @@ -1,4 +1,5 @@ """Provide the ReplyableMixin class.""" + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/praw/models/reddit/mixins/reportable.py b/praw/models/reddit/mixins/reportable.py index a06fa75aa..3029ecaa0 100644 --- a/praw/models/reddit/mixins/reportable.py +++ b/praw/models/reddit/mixins/reportable.py @@ -1,4 +1,5 @@ """Provide the ReportableMixin class.""" + from ....const import API_PATH diff --git a/praw/models/reddit/mixins/savable.py b/praw/models/reddit/mixins/savable.py index f3d263b64..9a4a15570 100644 --- a/praw/models/reddit/mixins/savable.py +++ b/praw/models/reddit/mixins/savable.py @@ -1,4 +1,5 @@ """Provide the SavableMixin class.""" + from __future__ import annotations from ....const import API_PATH diff --git a/praw/models/reddit/mixins/votable.py b/praw/models/reddit/mixins/votable.py index 1deb3b323..5ac3a0744 100644 --- a/praw/models/reddit/mixins/votable.py +++ b/praw/models/reddit/mixins/votable.py @@ -1,4 +1,5 @@ """Provide the VotableMixin class.""" + from __future__ import annotations from ....const import API_PATH diff --git a/praw/models/reddit/modmail.py b/praw/models/reddit/modmail.py index 932762771..b544bb775 100644 --- a/praw/models/reddit/modmail.py +++ b/praw/models/reddit/modmail.py @@ -1,4 +1,5 @@ """Provide models for new modmail.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any diff --git a/praw/models/reddit/more.py b/praw/models/reddit/more.py index f932e9735..3967a1a6b 100644 --- a/praw/models/reddit/more.py +++ b/praw/models/reddit/more.py @@ -1,4 +1,5 @@ """Provide the MoreComments class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any diff --git a/praw/models/reddit/multi.py b/praw/models/reddit/multi.py index 19bb06205..3fbc264ad 100644 --- a/praw/models/reddit/multi.py +++ b/praw/models/reddit/multi.py @@ -1,4 +1,5 @@ """Provide the Multireddit class.""" + from __future__ import annotations import re diff --git a/praw/models/reddit/poll.py b/praw/models/reddit/poll.py index 91a327621..222363d40 100644 --- a/praw/models/reddit/poll.py +++ b/praw/models/reddit/poll.py @@ -1,4 +1,5 @@ """Provide poll-related classes.""" + from __future__ import annotations from typing import Any diff --git a/praw/models/reddit/redditor.py b/praw/models/reddit/redditor.py index 38cddec29..8a971a5cd 100644 --- a/praw/models/reddit/redditor.py +++ b/praw/models/reddit/redditor.py @@ -1,4 +1,5 @@ """Provide the Redditor class.""" + from __future__ import annotations from json import dumps diff --git a/praw/models/reddit/removal_reasons.py b/praw/models/reddit/removal_reasons.py index 55c0af8ce..d7bdd2634 100644 --- a/praw/models/reddit/removal_reasons.py +++ b/praw/models/reddit/removal_reasons.py @@ -1,4 +1,5 @@ """Provide the Removal Reason class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Iterator diff --git a/praw/models/reddit/rules.py b/praw/models/reddit/rules.py index bdb3794b6..5afdb2554 100644 --- a/praw/models/reddit/rules.py +++ b/praw/models/reddit/rules.py @@ -1,4 +1,5 @@ """Provide the Rule class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Iterator @@ -406,9 +407,9 @@ def add( "description": description, "kind": kind, "short_name": short_name, - "violation_reason": short_name - if violation_reason is None - else violation_reason, + "violation_reason": ( + short_name if violation_reason is None else violation_reason + ), } new_rule = self.subreddit_rules._reddit.post( API_PATH["add_subreddit_rule"], data=data diff --git a/praw/models/reddit/submission.py b/praw/models/reddit/submission.py index dc324e36f..8f9289db7 100644 --- a/praw/models/reddit/submission.py +++ b/praw/models/reddit/submission.py @@ -1,4 +1,5 @@ """Provide the Submission class.""" + from __future__ import annotations import re diff --git a/praw/models/reddit/subreddit.py b/praw/models/reddit/subreddit.py index 88f2faf57..643e809d6 100644 --- a/praw/models/reddit/subreddit.py +++ b/praw/models/reddit/subreddit.py @@ -1,4 +1,5 @@ """Provide the Subreddit class.""" + from __future__ import annotations import contextlib @@ -2173,9 +2174,7 @@ def create( new.edit(content=content, reason=reason, **other_settings) return new - def revisions( - self, **generator_kwargs: Any - ) -> Generator[ + def revisions(self, **generator_kwargs: Any) -> Generator[ dict[str, praw.models.Redditor | WikiPage | str | int | bool | None], None, None, diff --git a/praw/models/reddit/user_subreddit.py b/praw/models/reddit/user_subreddit.py index 9c0ce5af4..2942bc63a 100644 --- a/praw/models/reddit/user_subreddit.py +++ b/praw/models/reddit/user_subreddit.py @@ -1,4 +1,5 @@ """Provide the :class:`.UserSubreddit` class.""" + from __future__ import annotations import inspect diff --git a/praw/models/reddit/widgets.py b/praw/models/reddit/widgets.py index 0f5f5fe55..43d775564 100644 --- a/praw/models/reddit/widgets.py +++ b/praw/models/reddit/widgets.py @@ -1,4 +1,5 @@ """Provide classes related to widgets.""" + from __future__ import annotations from json import JSONEncoder, dumps diff --git a/praw/models/reddit/wikipage.py b/praw/models/reddit/wikipage.py index 7e1b69779..7dfa67b4b 100644 --- a/praw/models/reddit/wikipage.py +++ b/praw/models/reddit/wikipage.py @@ -1,4 +1,5 @@ """Provide the WikiPage class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Generator, Iterator diff --git a/praw/models/redditors.py b/praw/models/redditors.py index 63fe77b80..4a606d915 100644 --- a/praw/models/redditors.py +++ b/praw/models/redditors.py @@ -1,4 +1,5 @@ """Provide the Redditors class.""" + from __future__ import annotations from itertools import islice diff --git a/praw/models/stylesheet.py b/praw/models/stylesheet.py index e42fe567f..12fd5ff8b 100644 --- a/praw/models/stylesheet.py +++ b/praw/models/stylesheet.py @@ -1,4 +1,5 @@ """Provide the Stylesheet class.""" + from .base import PRAWBase diff --git a/praw/models/subreddits.py b/praw/models/subreddits.py index bd58d3055..4dd21783f 100644 --- a/praw/models/subreddits.py +++ b/praw/models/subreddits.py @@ -1,4 +1,5 @@ """Provide the Subreddits class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any, Iterator diff --git a/praw/models/trophy.py b/praw/models/trophy.py index fc86671b0..1d4aff0ea 100644 --- a/praw/models/trophy.py +++ b/praw/models/trophy.py @@ -1,4 +1,5 @@ """Represent the :class:`.Trophy` class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Any diff --git a/praw/models/user.py b/praw/models/user.py index 46dfdb7f6..d86b71f32 100644 --- a/praw/models/user.py +++ b/praw/models/user.py @@ -1,4 +1,5 @@ """Provides the User class.""" + from __future__ import annotations from typing import TYPE_CHECKING, Iterator diff --git a/praw/models/util.py b/praw/models/util.py index d10020712..fdd6ea38b 100644 --- a/praw/models/util.py +++ b/praw/models/util.py @@ -1,4 +1,5 @@ """Provide helper classes used by other models.""" + from __future__ import annotations import random diff --git a/praw/objector.py b/praw/objector.py index 8a642fb9c..6599acce6 100644 --- a/praw/objector.py +++ b/praw/objector.py @@ -1,4 +1,5 @@ """Provides the Objector class.""" + from __future__ import annotations from datetime import datetime @@ -178,9 +179,11 @@ def _objectify_dict( # noqa: PLR0912,PLR0915 subreddit_parser = self.parsers[self._reddit.config.kinds["subreddit"]] user_subreddit_parser = self.parsers["UserSubreddit"] subreddits = { - subreddit["name"]: user_subreddit_parser.parse(subreddit, self._reddit) - if subreddit["display_name_prefixed"].startswith("u/") - else subreddit_parser.parse(subreddit, self._reddit) + subreddit["name"]: ( + user_subreddit_parser.parse(subreddit, self._reddit) + if subreddit["display_name_prefixed"].startswith("u/") + else subreddit_parser.parse(subreddit, self._reddit) + ) for subreddit in data.pop("subreddits") } for draft in data["drafts"]: diff --git a/praw/reddit.py b/praw/reddit.py index 56812e9e3..e3024ea2b 100644 --- a/praw/reddit.py +++ b/praw/reddit.py @@ -1,4 +1,5 @@ """Provide the Reddit class.""" + from __future__ import annotations import asyncio diff --git a/praw/util/cache.py b/praw/util/cache.py index acd777617..8a49f8654 100644 --- a/praw/util/cache.py +++ b/praw/util/cache.py @@ -1,4 +1,5 @@ """Caching utilities.""" + from __future__ import annotations from typing import Any, Callable diff --git a/praw/util/deprecate_args.py b/praw/util/deprecate_args.py index 283991d09..78f306a71 100644 --- a/praw/util/deprecate_args.py +++ b/praw/util/deprecate_args.py @@ -1,4 +1,5 @@ """Positional argument deprecation decorator.""" + from __future__ import annotations import inspect diff --git a/praw/util/snake.py b/praw/util/snake.py index 778a33e81..fa04accc2 100644 --- a/praw/util/snake.py +++ b/praw/util/snake.py @@ -1,4 +1,5 @@ """Contains functions dealing with snake case conversions.""" + from __future__ import annotations import re diff --git a/praw/util/token_manager.py b/praw/util/token_manager.py index 843b06892..88f17e386 100644 --- a/praw/util/token_manager.py +++ b/praw/util/token_manager.py @@ -11,6 +11,7 @@ Tokens managers have been deprecated and will be removed in the near future. """ + from __future__ import annotations from abc import ABC, abstractmethod diff --git a/tests/conftest.py b/tests/conftest.py index 134f98842..7e003b831 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,5 @@ """Prepare py.test.""" + import os import socket import time diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py index 9f4d8710c..f0f68eb2d 100644 --- a/tests/integration/__init__.py +++ b/tests/integration/__init__.py @@ -1,4 +1,5 @@ """PRAW Integration test suite.""" + import os from urllib.parse import quote_plus diff --git a/tests/integration/models/listing/test_generator.py b/tests/integration/models/listing/test_generator.py index df124369e..6ebb449a6 100644 --- a/tests/integration/models/listing/test_generator.py +++ b/tests/integration/models/listing/test_generator.py @@ -1,4 +1,5 @@ """Test praw.models.listing.generator.""" + from ... import IntegrationTest diff --git a/tests/integration/models/reddit/test_collections.py b/tests/integration/models/reddit/test_collections.py index c2dea958a..2789d0d88 100644 --- a/tests/integration/models/reddit/test_collections.py +++ b/tests/integration/models/reddit/test_collections.py @@ -1,4 +1,5 @@ """Test classes from collections.py.""" + import pytest from praw.exceptions import ClientException, RedditAPIException diff --git a/tests/integration/models/reddit/test_poll.py b/tests/integration/models/reddit/test_poll.py index d5a4942c2..27db2ea36 100644 --- a/tests/integration/models/reddit/test_poll.py +++ b/tests/integration/models/reddit/test_poll.py @@ -1,6 +1,5 @@ """Test praw.models.poll.""" - import pytest from praw.models import PollData, PollOption diff --git a/tests/integration/models/reddit/test_subreddit.py b/tests/integration/models/reddit/test_subreddit.py index af59c3ef5..f916d0409 100644 --- a/tests/integration/models/reddit/test_subreddit.py +++ b/tests/integration/models/reddit/test_subreddit.py @@ -1,4 +1,5 @@ """Test praw.models.subreddit.""" + import socket from json import dumps from unittest import mock diff --git a/tests/integration/models/test_auth.py b/tests/integration/models/test_auth.py index 9775206cc..0be7d21ed 100644 --- a/tests/integration/models/test_auth.py +++ b/tests/integration/models/test_auth.py @@ -1,4 +1,5 @@ """Test praw.models.auth.""" + import pytest from prawcore import InvalidToken diff --git a/tests/integration/models/test_front.py b/tests/integration/models/test_front.py index 4f5f4b2cd..7a6014a02 100644 --- a/tests/integration/models/test_front.py +++ b/tests/integration/models/test_front.py @@ -1,4 +1,5 @@ """Test praw.models.front.""" + from .. import IntegrationTest diff --git a/tests/integration/models/test_subreddits.py b/tests/integration/models/test_subreddits.py index f51ae34d4..582e88848 100644 --- a/tests/integration/models/test_subreddits.py +++ b/tests/integration/models/test_subreddits.py @@ -1,4 +1,5 @@ """Test praw.models.subreddits.""" + import pytest from praw.models import Subreddit diff --git a/tests/integration/test_github_actions.py b/tests/integration/test_github_actions.py index 8b8d35894..5a7c1c814 100644 --- a/tests/integration/test_github_actions.py +++ b/tests/integration/test_github_actions.py @@ -4,6 +4,7 @@ GitHub Actions. """ + import os import pytest diff --git a/tests/integration/test_objector.py b/tests/integration/test_objector.py index 3e6a94297..5f3a52822 100644 --- a/tests/integration/test_objector.py +++ b/tests/integration/test_objector.py @@ -1,4 +1,5 @@ """Test praw.objector.""" + import pytest from praw.exceptions import RedditAPIException diff --git a/tests/integration/test_reddit.py b/tests/integration/test_reddit.py index faed15e46..0b639d8bc 100644 --- a/tests/integration/test_reddit.py +++ b/tests/integration/test_reddit.py @@ -1,4 +1,5 @@ """Test praw.reddit.""" + from base64 import urlsafe_b64encode import pytest diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index 7eb6dd7b0..a7286035a 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -1,4 +1,5 @@ """Prepare pytest for unit tests.""" + import pytest from praw import Reddit diff --git a/tests/unit/models/list/test_base.py b/tests/unit/models/list/test_base.py index 50c0a087e..d178624b3 100644 --- a/tests/unit/models/list/test_base.py +++ b/tests/unit/models/list/test_base.py @@ -1,4 +1,5 @@ """Test praw.models.list.base.""" + import pytest from praw.models.list.base import BaseList diff --git a/tests/unit/models/listing/test_generator.py b/tests/unit/models/listing/test_generator.py index eedfd2a69..6b742cd28 100644 --- a/tests/unit/models/listing/test_generator.py +++ b/tests/unit/models/listing/test_generator.py @@ -1,4 +1,5 @@ """Test praw.models.listing.generator.""" + import pytest from praw.models.listing.generator import ListingGenerator diff --git a/tests/unit/models/reddit/test_collections.py b/tests/unit/models/reddit/test_collections.py index 987e8e04b..da68cd410 100644 --- a/tests/unit/models/reddit/test_collections.py +++ b/tests/unit/models/reddit/test_collections.py @@ -1,4 +1,5 @@ """Test classes from collections.py.""" + import pytest from praw.models import Collection diff --git a/tests/unit/models/test_auth.py b/tests/unit/models/test_auth.py index 742b42a17..2f8926246 100644 --- a/tests/unit/models/test_auth.py +++ b/tests/unit/models/test_auth.py @@ -1,4 +1,5 @@ """Test praw.models.auth.""" + import pytest from praw import Reddit diff --git a/tests/unit/models/test_front.py b/tests/unit/models/test_front.py index 9b5c7a80a..fcf71c3e2 100644 --- a/tests/unit/models/test_front.py +++ b/tests/unit/models/test_front.py @@ -1,4 +1,5 @@ """Test praw.models.front.""" + import pytest from .. import UnitTest diff --git a/tests/unit/models/test_mod_note.py b/tests/unit/models/test_mod_note.py index a02c14cc2..c7a3da7fe 100644 --- a/tests/unit/models/test_mod_note.py +++ b/tests/unit/models/test_mod_note.py @@ -1,4 +1,5 @@ """Test praw.models.ModNote.""" + from praw.models.mod_note import ModNote from .. import UnitTest diff --git a/tests/unit/models/test_preferences.py b/tests/unit/models/test_preferences.py index 34d0c8619..3adc0c57c 100644 --- a/tests/unit/models/test_preferences.py +++ b/tests/unit/models/test_preferences.py @@ -1,4 +1,5 @@ """Test praw.models.preferences.""" + from praw.models import Preferences from .. import UnitTest diff --git a/tests/unit/models/test_subreddits.py b/tests/unit/models/test_subreddits.py index 6070df73d..1cc0545bb 100644 --- a/tests/unit/models/test_subreddits.py +++ b/tests/unit/models/test_subreddits.py @@ -1,4 +1,5 @@ """Test praw.models.subreddits.""" + import pytest from .. import UnitTest diff --git a/tests/unit/models/test_trophy.py b/tests/unit/models/test_trophy.py index 347313f89..d2ace2b8b 100644 --- a/tests/unit/models/test_trophy.py +++ b/tests/unit/models/test_trophy.py @@ -1,4 +1,5 @@ """Test praw.models.Trophy.""" + import pytest from praw.models.trophy import Trophy diff --git a/tests/unit/models/test_util.py b/tests/unit/models/test_util.py index cd75f4baf..6d6716c26 100644 --- a/tests/unit/models/test_util.py +++ b/tests/unit/models/test_util.py @@ -1,4 +1,5 @@ """Test praw.models.util.""" + from collections import namedtuple from praw.models.util import ( diff --git a/tests/unit/util/test_deprecate_args.py b/tests/unit/util/test_deprecate_args.py index e30280f56..134ceaf2b 100644 --- a/tests/unit/util/test_deprecate_args.py +++ b/tests/unit/util/test_deprecate_args.py @@ -1,4 +1,5 @@ """This file should be updated as files/classes/functions are deprecated.""" + import inspect from contextlib import contextmanager diff --git a/tests/unit/util/test_token_manager.py b/tests/unit/util/test_token_manager.py index 35c5088a3..d879393ee 100644 --- a/tests/unit/util/test_token_manager.py +++ b/tests/unit/util/test_token_manager.py @@ -1,4 +1,5 @@ """Test praw.util.refresh_token_manager.""" + import sys from pathlib import Path from tempfile import NamedTemporaryFile