Skip to content

Commit 737306e

Browse files
committed
Update test case for issue 45 and fix a few lint issues.
1 parent e0ae32e commit 737306e

File tree

5 files changed

+28
-25
lines changed

5 files changed

+28
-25
lines changed

.pylintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ max-branchs=12
210210
max-statements=50
211211

212212
# Maximum number of parents for a class (see R0901).
213-
max-parents=9
213+
max-parents=12
214214

215215
# Maximum number of attributes for a class (see R0902).
216216
max-attributes=10

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ r.get_subreddit('python').set_flair_csv(flair_mapping)
193193

194194
```python
195195
r.get_subreddit('python').add_flair_template(text='editable', css_class='foo',
196-
text_editable=True)
196+
text_editable=True)
197197
```
198198

199199
0. Clear flair templates (requires mod privileges):

reddit/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,12 +283,13 @@ def get_contributors(self, subreddit):
283283
def get_moderators(self, subreddit):
284284
"""Get the list of moderators for a subreddit."""
285285
return self.request_json(self.config['moderators'] % str(subreddit))
286-
286+
287287
@reddit.decorators.require_login
288288
def get_reports(self, subreddit, limit=None):
289289
"""Get the list of reported submissions for a subreddit."""
290290
return self.get_content(self.config['reports'] % str(subreddit),
291-
limit=limit, url_data={'uh':self.user.modhash})
291+
url_data={'uh': self.user.modhash},
292+
limit=limit)
292293

293294
@reddit.decorators.require_login
294295
def flair_list(self, subreddit, limit=None):

reddit/objects.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ def report(self):
101101
_request.is_stale([self.reddit_session.config['user']])
102102
return response
103103

104+
104105
class Saveable(RedditContentObject):
105106
"""
106107
Additional interface for Reddit content objects that can be saved.
@@ -402,6 +403,17 @@ def __str__(self):
402403
"""Display the subreddit name."""
403404
return self.display_name.encode('utf8')
404405

406+
@require_login
407+
def _subscribe(self, unsubscribe=False):
408+
"""Perform the (un)subscribe to the subreddit."""
409+
action = 'unsub' if unsubscribe else 'sub'
410+
params = {'sr': self.content_id,
411+
'action': action,
412+
'uh': self.reddit_session.modhash,
413+
'api_type': 'json'}
414+
url = self.reddit_session.config['subscribe']
415+
return self.reddit_session.request_json(url, params)
416+
405417
def add_flair_template(self, *args, **kwargs):
406418
"""Adds a flair template to the subreddit."""
407419
return self.reddit_session.add_flair_template(self, *args, **kwargs)
@@ -430,6 +442,10 @@ def get_moderators(self, *args, **kwargs):
430442
"""Get moderators for this subreddit."""
431443
return self.reddit_session.get_moderators(self, *args, **kwargs)
432444

445+
def get_reports(self, *args, **kwargs):
446+
"""Get the reported submissions on the given subreddit."""
447+
return self.reddit_session.get_reports(self, *args, **kwargs)
448+
433449
def flair_list(self, *args, **kwargs):
434450
"""Return a list of flair for this subreddit."""
435451
return self.reddit_session.flair_list(self, *args, **kwargs)
@@ -446,29 +462,13 @@ def submit(self, *args, **kwargs):
446462
"""Submit a new link."""
447463
return self.reddit_session.submit(self, *args, **kwargs)
448464

449-
@require_login
450-
def _subscribe(self, unsubscribe=False):
451-
"""Perform the (un)subscribe to the subreddit."""
452-
action = 'unsub' if unsubscribe else 'sub'
453-
params = {'sr': self.content_id,
454-
'action': action,
455-
'uh': self.reddit_session.modhash,
456-
'api_type': 'json'}
457-
url = self.reddit_session.config['subscribe']
458-
return self.reddit_session.request_json(url, params)
459-
460465
def subscribe(self):
461466
"""Subscribe to the given subreddit."""
462467
return self._subscribe()
463468

464469
def unsubscribe(self):
465470
"""Unsubscribe from the given subreddit."""
466471
return self._subscribe(unsubscribe=True)
467-
468-
@require_login
469-
def get_reports(self, *args, **kwargs):
470-
"""Get the reported submissions on the given subreddit."""
471-
return self.reddit_session.get_reports(self, *args, **kwargs)
472472

473473

474474
class UserList(RedditContentObject):

reddit/reddit_test.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -443,25 +443,27 @@ def test_upvote(self):
443443
# reload the submission
444444
submission = self.r.get_submission(submission_id=submission.id)
445445
self.assertEqual(submission.likes, True)
446-
446+
447447
def test_report(self):
448448
# login as new user to report submission
449449
oth = Reddit('reddit_api test suite')
450450
oth.login('PyApiTestUser3', '1111')
451+
subreddit = oth.get_subreddit(self.sr)
451452
submission = None
452-
for submission in oth.get_redditor(self.r.user.name).get_submitted():
453-
if submission.hidden is False:
453+
for submission in subreddit.get_new_by_date():
454+
if not submission.hidden:
454455
break
455-
if not submission or submission.hidden is True:
456+
if not submission or submission.hidden:
456457
self.fail('Could not find a non-reported submission.')
457458
submission.report()
458459
# check if submission was reported
459460
for report in self.r.get_subreddit(self.sr).get_reports():
460461
if report.id == submission.id:
461-
break
462+
break
462463
else:
463464
self.fail('Could not find reported submission.')
464465

466+
465467
class SubmissionCreateTest(unittest.TestCase, AuthenticatedHelper):
466468
def setUp(self):
467469
self.configure()

0 commit comments

Comments
 (0)