Skip to content

Commit

Permalink
Sort praw.models.reddit.modmail.ModmailConversation.mute arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
LilSpazJoekp committed Feb 7, 2022
1 parent 38a545e commit 53969d2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 17 deletions.
5 changes: 3 additions & 2 deletions praw/models/reddit/modmail.py
Expand Up @@ -174,7 +174,8 @@ def highlight(self):
"""
self._reddit.post(API_PATH["modmail_highlight"].format(id=self.id))

def mute(self, num_days=3):
@_deprecate_args("num_days")
def mute(self, *, num_days=3):
"""Mute the non-mod user associated with the conversation.
:param num_days: Duration of mute in days. Valid options are ``3``, ``7``, or
Expand All @@ -190,7 +191,7 @@ def mute(self, num_days=3):
.. code-block:: python
reddit.subreddit("test").modmail("2gmz").mute(7)
reddit.subreddit("test").modmail("2gmz").mute(num_days=7)
"""
if num_days != 3: # no need to pass params if it's the default
Expand Down
19 changes: 4 additions & 15 deletions tests/integration/models/reddit/test_modmail.py
@@ -1,4 +1,3 @@
import sys
from datetime import datetime
from unittest import mock

Expand Down Expand Up @@ -40,22 +39,12 @@ def test_mute_duration(self, _):
self.reddit.read_only = False
conversation = self.reddit.subreddit("all").modmail("g46rw")
with self.recorder.use_cassette("TestModmailConversation.test_mute_duration"):
conversation.mute(7)
conversation.mute(num_days=7)
conversation = self.reddit.subreddit("all").modmail("g46rw")
assert conversation.user.mute_status["isMuted"]
if sys.version_info >= (3, 7, 0):
diff = datetime.fromisoformat(
conversation.user.mute_status["endDate"]
) - datetime.fromisoformat(conversation.mod_actions[-1].date)
else:
end_date = "".join(
conversation.user.mute_status["endDate"].rsplit(":", 1)
)
start_date = "".join(conversation.mod_actions[-1].date.rsplit(":", 1))
date_format = "%Y-%m-%dT%H:%M:%S.%f%z"
diff = datetime.strptime(end_date, date_format) - datetime.strptime(
start_date, date_format
)
diff = datetime.fromisoformat(
conversation.user.mute_status["endDate"]
) - datetime.fromisoformat(conversation.mod_actions[-1].date)
assert diff.days == 6 # 6 here because it is not 7 whole days

@mock.patch("time.sleep", return_value=None)
Expand Down

0 comments on commit 53969d2

Please sign in to comment.