diff --git a/praw/models/reddit/modmail.py b/praw/models/reddit/modmail.py index 2325e426e..f7443f243 100644 --- a/praw/models/reddit/modmail.py +++ b/praw/models/reddit/modmail.py @@ -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 @@ -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 diff --git a/tests/integration/models/reddit/test_modmail.py b/tests/integration/models/reddit/test_modmail.py index f9783f38e..f68773c93 100644 --- a/tests/integration/models/reddit/test_modmail.py +++ b/tests/integration/models/reddit/test_modmail.py @@ -1,4 +1,3 @@ -import sys from datetime import datetime from unittest import mock @@ -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)