Skip to content

Commit

Permalink
Add option to ban all relative imports
Browse files Browse the repository at this point in the history
  • Loading branch information
bboe committed Feb 12, 2025
1 parent 9bbb6a2 commit 7d1c930
Show file tree
Hide file tree
Showing 46 changed files with 154 additions and 191 deletions.
4 changes: 2 additions & 2 deletions praw/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
"""

from .const import __version__
from .reddit import Reddit
from praw.const import __version__
from praw.reddit import Reddit
2 changes: 1 addition & 1 deletion praw/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from types import MappingProxyType
from typing import Any

from .exceptions import ClientException
from praw.exceptions import ClientException


class _NotSet:
Expand Down
2 changes: 1 addition & 1 deletion praw/const.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""PRAW constants."""

from .endpoints import API_PATH # noqa: F401
from praw.endpoints import API_PATH # noqa: F401

__version__ = "7.8.2.dev0"

Expand Down
78 changes: 39 additions & 39 deletions praw/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
"""Provide the PRAW models."""

from .auth import Auth
from .front import Front
from .helpers import DraftHelper, LiveHelper, MultiredditHelper, SubredditHelper
from .inbox import Inbox
from .list.draft import DraftList
from .list.moderated import ModeratedList
from .list.redditor import RedditorList
from .list.trophy import TrophyList
from .listing.domain import DomainListing
from .listing.generator import ListingGenerator
from .listing.listing import Listing, ModeratorListing, ModmailConversationsListing
from .mod_action import ModAction
from .mod_note import ModNote
from .mod_notes import RedditModNotes, RedditorModNotes, SubredditModNotes
from .preferences import Preferences
from .reddit.collections import Collection
from .reddit.comment import Comment
from .reddit.draft import Draft
from .reddit.emoji import Emoji
from .reddit.inline_media import InlineGif, InlineImage, InlineMedia, InlineVideo
from .reddit.live import LiveThread, LiveUpdate
from .reddit.message import Message, SubredditMessage
from .reddit.modmail import ModmailAction, ModmailConversation, ModmailMessage
from .reddit.more import MoreComments
from .reddit.multi import Multireddit
from .reddit.poll import PollData, PollOption
from .reddit.redditor import Redditor
from .reddit.removal_reasons import RemovalReason
from .reddit.rules import Rule
from .reddit.submission import Submission
from .reddit.subreddit import Subreddit
from .reddit.user_subreddit import UserSubreddit
from .reddit.widgets import (
from praw.models.auth import Auth
from praw.models.front import Front
from praw.models.helpers import DraftHelper, LiveHelper, MultiredditHelper, SubredditHelper
from praw.models.inbox import Inbox
from praw.models.list.draft import DraftList
from praw.models.list.moderated import ModeratedList
from praw.models.list.redditor import RedditorList
from praw.models.list.trophy import TrophyList
from praw.models.listing.domain import DomainListing
from praw.models.listing.generator import ListingGenerator
from praw.models.listing.listing import Listing, ModeratorListing, ModmailConversationsListing
from praw.models.mod_action import ModAction
from praw.models.mod_note import ModNote
from praw.models.mod_notes import RedditModNotes, RedditorModNotes, SubredditModNotes
from praw.models.preferences import Preferences
from praw.models.reddit.collections import Collection
from praw.models.reddit.comment import Comment
from praw.models.reddit.draft import Draft
from praw.models.reddit.emoji import Emoji
from praw.models.reddit.inline_media import InlineGif, InlineImage, InlineMedia, InlineVideo
from praw.models.reddit.live import LiveThread, LiveUpdate
from praw.models.reddit.message import Message, SubredditMessage
from praw.models.reddit.modmail import ModmailAction, ModmailConversation, ModmailMessage
from praw.models.reddit.more import MoreComments
from praw.models.reddit.multi import Multireddit
from praw.models.reddit.poll import PollData, PollOption
from praw.models.reddit.redditor import Redditor
from praw.models.reddit.removal_reasons import RemovalReason
from praw.models.reddit.rules import Rule
from praw.models.reddit.submission import Submission
from praw.models.reddit.subreddit import Subreddit
from praw.models.reddit.user_subreddit import UserSubreddit
from praw.models.reddit.widgets import (
Button,
ButtonWidget,
Calendar,
Expand All @@ -57,9 +57,9 @@
Widget,
WidgetModeration,
)
from .reddit.wikipage import WikiPage
from .redditors import Redditors
from .stylesheet import Stylesheet
from .subreddits import Subreddits
from .trophy import Trophy
from .user import User
from praw.models.reddit.wikipage import WikiPage
from praw.models.redditors import Redditors
from praw.models.stylesheet import Stylesheet
from praw.models.subreddits import Subreddits
from praw.models.trophy import Trophy
from praw.models.user import User
3 changes: 1 addition & 2 deletions praw/models/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
from prawcore import Authorizer, ImplicitAuthorizer, UntrustedAuthenticator, session

from praw.exceptions import InvalidImplicitAuth, MissingRequiredAttributeException

from .base import PRAWBase
from praw.models.base import PRAWBase


class Auth(PRAWBase):
Expand Down
3 changes: 1 addition & 2 deletions praw/models/comment_forest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
from typing import TYPE_CHECKING

from praw.exceptions import DuplicateReplaceException

from .reddit.more import MoreComments
from praw.models.reddit.more import MoreComments

if TYPE_CHECKING: # pragma: no cover
import praw.models
Expand Down
4 changes: 2 additions & 2 deletions praw/models/front.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
from typing import TYPE_CHECKING
from urllib.parse import urljoin

from .listing.generator import ListingGenerator
from .listing.mixins import SubredditListingMixin
from praw.models.listing.generator import ListingGenerator
from praw.models.listing.mixins import SubredditListingMixin

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Iterator
Expand Down
9 changes: 4 additions & 5 deletions praw/models/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@
from typing import TYPE_CHECKING, Any

from praw.const import API_PATH

from .base import PRAWBase
from .reddit.draft import Draft
from .reddit.live import LiveThread
from .reddit.multi import Multireddit, Subreddit
from praw.models.base import PRAWBase
from praw.models.reddit.draft import Draft
from praw.models.reddit.live import LiveThread
from praw.models.reddit.multi import Multireddit, Subreddit

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Generator
Expand Down
7 changes: 3 additions & 4 deletions praw/models/inbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
from typing import TYPE_CHECKING

from praw.const import API_PATH

from .base import PRAWBase
from .listing.generator import ListingGenerator
from .util import stream_generator
from praw.models.base import PRAWBase
from praw.models.listing.generator import ListingGenerator
from praw.models.util import stream_generator

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Iterator
Expand Down
2 changes: 1 addition & 1 deletion praw/models/list/draft.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Provide the DraftList class."""

from .base import BaseList
from praw.models.list.base import BaseList


class DraftList(BaseList):
Expand Down
2 changes: 1 addition & 1 deletion praw/models/list/moderated.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Provide the ModeratedList class."""

from .base import BaseList
from praw.models.list.base import BaseList


class ModeratedList(BaseList):
Expand Down
2 changes: 1 addition & 1 deletion praw/models/list/redditor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Provide the RedditorList class."""

from .base import BaseList
from praw.models.list.base import BaseList


class RedditorList(BaseList):
Expand Down
2 changes: 1 addition & 1 deletion praw/models/list/trophy.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Provide the TrophyList class."""

from .base import BaseList
from praw.models.list.base import BaseList


class TrophyList(BaseList):
Expand Down
3 changes: 1 addition & 2 deletions praw/models/listing/domain.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
from typing import TYPE_CHECKING

from praw.const import API_PATH

from .mixins import BaseListingMixin, RisingListingMixin
from praw.models.listing.mixins import BaseListingMixin, RisingListingMixin

if TYPE_CHECKING: # pragma: no cover
import praw
Expand Down
3 changes: 1 addition & 2 deletions praw/models/listing/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
from typing import TYPE_CHECKING, Any

from praw.models.base import PRAWBase

from .listing import FlairListing, ModNoteListing
from praw.models.listing.listing import FlairListing, ModNoteListing

if TYPE_CHECKING: # pragma: no cover
import praw
Expand Down
10 changes: 5 additions & 5 deletions praw/models/listing/mixins/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Package providing models that pertain to listing mixins."""

from .base import BaseListingMixin
from .redditor import RedditorListingMixin
from .rising import RisingListingMixin
from .submission import SubmissionListingMixin
from .subreddit import SubredditListingMixin
from praw.models.listing.mixins.base import BaseListingMixin
from praw.models.listing.mixins.redditor import RedditorListingMixin
from praw.models.listing.mixins.rising import RisingListingMixin
from praw.models.listing.mixins.submission import SubmissionListingMixin
from praw.models.listing.mixins.subreddit import SubredditListingMixin
3 changes: 1 addition & 2 deletions praw/models/listing/mixins/redditor.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
from urllib.parse import urljoin

from praw.models.listing.generator import ListingGenerator
from praw.models.listing.mixins.base import BaseListingMixin
from praw.util.cache import cachedproperty

from .base import BaseListingMixin

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Iterator

Expand Down
5 changes: 2 additions & 3 deletions praw/models/listing/mixins/subreddit.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@

from praw.models.base import PRAWBase
from praw.models.listing.generator import ListingGenerator
from praw.models.listing.mixins.base import BaseListingMixin
from praw.models.listing.mixins.rising import RisingListingMixin
from praw.util.cache import cachedproperty

from .base import BaseListingMixin
from .rising import RisingListingMixin

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Iterator

Expand Down
2 changes: 1 addition & 1 deletion praw/models/mod_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

from typing import TYPE_CHECKING

from .base import PRAWBase
from praw.models.base import PRAWBase

if TYPE_CHECKING: # pragma: no cover
import praw.models
Expand Down
3 changes: 1 addition & 2 deletions praw/models/mod_note.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
from __future__ import annotations

from praw.endpoints import API_PATH

from .base import PRAWBase
from praw.models.base import PRAWBase


class ModNote(PRAWBase):
Expand Down
14 changes: 6 additions & 8 deletions praw/models/mod_notes.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,17 @@
from typing import TYPE_CHECKING, Any

from praw.const import API_PATH

from .base import PRAWBase
from .listing.generator import ListingGenerator
from .reddit.comment import Comment
from .reddit.submission import Submission
from praw.models.base import PRAWBase
from praw.models.listing.generator import ListingGenerator
from praw.models.reddit.comment import Comment
from praw.models.reddit.submission import Submission

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Generator

import praw.models

from .reddit.redditor import Redditor
from .reddit.subreddit import Subreddit
from praw.models.reddit.redditor import Redditor
from praw.models.reddit.subreddit import Subreddit


class BaseModNotes:
Expand Down
7 changes: 3 additions & 4 deletions praw/models/reddit/collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@
from praw.const import API_PATH
from praw.exceptions import ClientException
from praw.models.base import PRAWBase
from praw.models.reddit.base import RedditBase
from praw.models.reddit.submission import Submission
from praw.models.reddit.subreddit import Subreddit
from praw.util.cache import cachedproperty

from .base import RedditBase
from .submission import Submission
from .subreddit import Subreddit

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Generator, Iterator

Expand Down
12 changes: 3 additions & 9 deletions praw/models/reddit/comment.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,11 @@
from praw.const import API_PATH
from praw.exceptions import ClientException, InvalidURL
from praw.models.comment_forest import CommentForest
from praw.models.reddit.base import RedditBase
from praw.models.reddit.mixins import FullnameMixin, InboxableMixin, ThingModerationMixin, UserContentMixin
from praw.models.reddit.redditor import Redditor
from praw.util.cache import cachedproperty

from .base import RedditBase
from .mixins import (
FullnameMixin,
InboxableMixin,
ThingModerationMixin,
UserContentMixin,
)
from .redditor import Redditor

if TYPE_CHECKING: # pragma: no cover
import praw.models

Expand Down
7 changes: 3 additions & 4 deletions praw/models/reddit/draft.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@

from praw.const import API_PATH
from praw.exceptions import ClientException

from .base import RedditBase
from .subreddit import Subreddit
from .user_subreddit import UserSubreddit
from praw.models.reddit.base import RedditBase
from praw.models.reddit.subreddit import Subreddit
from praw.models.reddit.user_subreddit import UserSubreddit

if TYPE_CHECKING: # pragma: no cover
import praw.models
Expand Down
3 changes: 1 addition & 2 deletions praw/models/reddit/emoji.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@

from praw.const import API_PATH
from praw.exceptions import ClientException

from .base import RedditBase
from praw.models.reddit.base import RedditBase

if TYPE_CHECKING: # pragma: no cover
import praw
Expand Down
7 changes: 3 additions & 4 deletions praw/models/reddit/live.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@
from praw.const import API_PATH
from praw.models.list.redditor import RedditorList
from praw.models.listing.generator import ListingGenerator
from praw.models.reddit.base import RedditBase
from praw.models.reddit.mixins import FullnameMixin
from praw.models.reddit.redditor import Redditor
from praw.models.util import stream_generator
from praw.util.cache import cachedproperty

from .base import RedditBase
from .mixins import FullnameMixin
from .redditor import Redditor

if TYPE_CHECKING: # pragma: no cover
from collections.abc import Iterable, Iterator

Expand Down
Loading

0 comments on commit 7d1c930

Please sign in to comment.