Skip to content

Commit

Permalink
default_subreddits(): add betamax cassette and fix issues from PR #550
Browse files Browse the repository at this point in the history
  • Loading branch information
eleweek authored and 13steinj committed Nov 23, 2015
1 parent d6c4cf9 commit 734a82a
Show file tree
Hide file tree
Showing 3 changed files with 307 additions and 14 deletions.
25 changes: 11 additions & 14 deletions praw/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ class Config(object): # pylint: disable=R0903
'contest_mode': 'api/set_contest_mode/',
'contributors': 'r/{subreddit}/about/contributors/',
'controversial': 'controversial/',
'default_subreddits': 'subreddits/default/',
'del': 'api/del/',
'deleteflair': 'api/deleteflair',
'delete_redditor': 'api/delete_user',
Expand Down Expand Up @@ -140,7 +141,6 @@ class Config(object): # pylint: disable=R0903
'mute_sender': 'api/mute_message_author/',
'muted': 'r/{subreddit}/about/muted/',
'popular_subreddits': 'subreddits/popular/',
'default_subreddits': 'subreddits/default/',
'post_replies': 'message/selfreply/',
'read_message': 'api/read_message/',
'reddit_url': '/',
Expand Down Expand Up @@ -780,6 +780,16 @@ def create_redditor(self, user_name, password, email=''):
'user': user_name}
return self.request_json(self.config['register'], data=data)

def default_subreddits(self, *args, **kwargs):
"""Return a get_content generator for the default subreddits.
The additional parameters are passed directly into
:meth:`.get_content`. Note: the `url` parameter cannot be altered.
"""
url = self.config['default_subreddits']
return self.get_content(url, *args, **kwargs)

@decorators.restrict_access(scope='read')
def get_comments(self, subreddit, gilded_only=False, *args, **kwargs):
"""Return a get_content generator for comments in the given subreddit.
Expand Down Expand Up @@ -955,19 +965,6 @@ def get_popular_subreddits(self, *args, **kwargs):
url = self.config['popular_subreddits']
return self.get_content(url, *args, **kwargs)

def get_default_subreddits(self, *args, **kwargs):
"""Return a get_content generator for the default subreddits.
The additional parameters are passed directly into
:meth:`.get_content`. Note: the `url` parameter cannot be altered.
"""
url = self.config['default_subreddits']
if (len(args) < self.get_content.__code__.co_varnames.index('limit') and
'limit' not in kwargs):
kwargs['limit'] = 100
return self.get_content(url, *args, **kwargs)

def get_random_subreddit(self, nsfw=False):
"""Return a random Subreddit object.
Expand Down
290 changes: 290 additions & 0 deletions tests/cassettes/test_default_subreddits.json

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions tests/test_unauthenticated_reddit.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@ def test_login_required__not_logged_in(self):
def test_login_required__not_logged_in_mod_func(self):
self.assertRaises(errors.LoginRequired, self.r.get_banned, self.sr)

@betamax()
def test_default_subreddits(self):
num = 50
self.assertEqual(num,
len(list(self.r.default_subreddits(limit=num))))

@betamax()
def test_get_new(self):
num = 50
Expand Down

0 comments on commit 734a82a

Please sign in to comment.