Skip to content

Commit

Permalink
Sort praw.models.helpers.SubredditHelper.create arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
LilSpazJoekp committed Jan 15, 2022
1 parent 6f13676 commit 3b8cd6c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 13 deletions.
12 changes: 7 additions & 5 deletions praw/models/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,27 +327,29 @@ def __call__(self, display_name: str) -> "praw.models.Subreddit":

return Subreddit(self._reddit, display_name=display_name)

@_deprecate_args("name", "title", "link_type", "subreddit_type", "wikimode")
def create(
self,
name: str,
title: Optional[str] = None,
*,
link_type: str = "any",
subreddit_type: str = "public",
title: Optional[str] = None,
wikimode: str = "disabled",
**other_settings: Optional[str],
) -> "praw.models.Subreddit":
"""Create a new :class:`.Subreddit`.
:param name: The name for the new subreddit.
:param title: The title of the subreddit. When ``None`` or ``""`` use the value
of ``"name"``.
:param link_type: The types of submissions users can make. One of ``"any"``,
``"link"``, or ``"self"`` (default: ``"any"``).
:param subreddit_type: One of ``"archived"``, ``"employees_only"``,
``"gold_only"``, ``"gold_restricted"``, ``"private"``, ``"public"``, or
``"restricted"`` (default: "public").
``"restricted"`` (default: ``"public"``).
:param title: The title of the subreddit. When ``None`` or ``""`` use the value
of ``name``.
:param wikimode: One of ``"anyone"``, ``"disabled"``, or ``"modonly"`` (default:
``disabled``).
``"disabled"``).
Any keyword parameters not provided, or set explicitly to ``None``, will take on
a default value assigned by the Reddit server.
Expand Down
2 changes: 1 addition & 1 deletion praw/reddit.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ def request(self, *args, **kwargs):
.. code-block:: python
reddit.subreddit.create("coolnewsubname")
reddit.subreddit.create(name="coolnewsubname")
To obtain a lazy :class:`.Subreddit` instance run:
Expand Down
14 changes: 7 additions & 7 deletions tests/integration/models/reddit/test_subreddit.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,10 @@ def test_create(self, _):
new_name = "PRAW_rrldkyrfln"
with self.use_cassette():
subreddit = self.reddit.subreddit.create(
name=new_name,
title="Sub",
new_name,
link_type="any",
subreddit_type="public",
title="Sub",
wikimode="disabled",
)
assert subreddit.display_name == new_name
Expand All @@ -119,9 +119,9 @@ def test_create__exists(self):
with pytest.raises(RedditAPIException) as excinfo:
self.reddit.subreddit.create(
"redditdev",
title="redditdev",
link_type="any",
subreddit_type="public",
title="redditdev",
wikimode="disabled",
)
assert excinfo.value.items[0].error_type == "SUBREDDIT_EXISTS"
Expand All @@ -132,10 +132,10 @@ def test_create__invalid_parameter(self):
with pytest.raises(RedditAPIException) as excinfo:
# Supplying invalid setting for link_type
self.reddit.subreddit.create(
name="PRAW_iavynavffv",
title="sub",
"PRAW_iavynavffv",
link_type="abcd",
subreddit_type="public",
title="sub",
wikimode="disabled",
)
assert excinfo.value.items[0].error_type == "INVALID_OPTION"
Expand All @@ -146,10 +146,10 @@ def test_create__missing_parameter(self):
with pytest.raises(RedditAPIException) as excinfo:
# Not supplying required field title.
self.reddit.subreddit.create(
name="PRAW_iavynavffv",
title=None,
"PRAW_iavynavffv",
link_type="any",
subreddit_type="public",
title=None,
wikimode="disabled",
)
assert excinfo.value.items[0].error_type == "NO_TEXT"
Expand Down

0 comments on commit 3b8cd6c

Please sign in to comment.