@@ -101,6 +101,7 @@ def report(self):
101101 _request .is_stale ([self .reddit_session .config ['user' ]])
102102 return response
103103
104+
104105class 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
474474class UserList (RedditContentObject ):
0 commit comments