From 74c200822600ba788a4868558f62428f834724bc Mon Sep 17 00:00:00 2001 From: David Foucher Date: Thu, 21 Jan 2016 01:37:17 +0100 Subject: [PATCH] Merge with @alexk307 added comments save support Added comments save support Centralized save Keep 'w' as key to save post/comment --- README.rst | 2 +- rtv/content.py | 17 ++--------------- rtv/page.py | 2 +- rtv/submission.py | 12 ++---------- rtv/subreddit.py | 14 -------------- 5 files changed, 6 insertions(+), 41 deletions(-) diff --git a/README.rst b/README.rst index f8815ac..938204f 100644 --- a/README.rst +++ b/README.rst @@ -89,7 +89,7 @@ Once you are logged in your username will appear in the top-right corner of the :``d``: Delete an existing post or comment :``i``: Display new messages prompt :``s``: View a list of subscribed subreddits -:``y``: View a list of your saved posts +:``w``: View a list of your saved posts -------------- Subreddit Mode diff --git a/rtv/content.py b/rtv/content.py index bdb5b79..85b76d2 100644 --- a/rtv/content.py +++ b/rtv/content.py @@ -159,7 +159,6 @@ class Content(object): data['gold'] = sub.gilded > 0 data['nsfw'] = sub.over_18 data['stickied'] = sub.stickied - data['saved'] = sub.saved data['index'] = None # This is filled in later by the method caller data['saved'] = sub.saved @@ -262,11 +261,6 @@ class SubmissionContent(Content): submission = reddit.get_submission(url, comment_sort=order) return cls(submission, loader, indent_size, max_indent_level, order) - def save(self): - """ - Saves a submission to the authenticated user - """ - self._submission.save() def get(self, index, n_cols=70): """ @@ -400,6 +394,8 @@ class SubredditContent(Content): elif name == 'saved': if not reddit.is_oauth_session(): raise exceptions.AccountError('Not logged in') + elif order: + submissions = reddit.user.get_submitted(sort=order) else: submissions = reddit.user.get_saved() @@ -419,15 +415,6 @@ class SubredditContent(Content): 'new': reddit.get_new, 'controversial': reddit.get_controversial, } - elif name == 'saved': - dispatch = { - None: reddit.user.get_saved, - 'hot': reddit.user.get_saved, - 'top': reddit.user.get_saved, - 'rising': reddit.user.get_saved, - 'new': reddit.user.get_saved, - 'controversial': reddit.user.get_saved, - } else: subreddit = reddit.get_subreddit(name) dispatch = { diff --git a/rtv/page.py b/rtv/page.py index 74775c7..2338885 100644 --- a/rtv/page.py +++ b/rtv/page.py @@ -157,7 +157,7 @@ class Page(object): @PageController.register('w') @logged_in - def savepost(self): + def save(self): data = self.content.get(self.nav.absolute_index) if 'saved' not in data: self.term.flash() diff --git a/rtv/submission.py b/rtv/submission.py index 2852c96..2a77d8f 100644 --- a/rtv/submission.py +++ b/rtv/submission.py @@ -70,14 +70,6 @@ class SubmissionPage(Page): else: self.term.flash() - @SubmissionController.register('y') - @logged_in - def save_comment(self): - comment = self.content.get(self.nav.absolute_index).get('object') - if comment: - with self.term.loader('Saving comment'): - comment.save() - @SubmissionController.register('c') @logged_in def add_comment(self): @@ -175,7 +167,7 @@ class SubmissionPage(Page): self.term.add_line(win, text, attr=attr) if data['saved']: - text, attr = 'SAVED', (curses.A_BOLD | Color.BLUE) + text, attr = self.term.saved self.term.add_line(win, text, attr=attr) for row, text in enumerate(data['split_body'], start=offset+1): @@ -250,7 +242,7 @@ class SubmissionPage(Page): self.term.add_line(win, text, attr=attr) if data['saved']: - text, attr = 'SAVED', (curses.A_BOLD | Color.RED) + text, attr = self.term.saved self.term.add_line(win, text, attr=attr) win.border() diff --git a/rtv/subreddit.py b/rtv/subreddit.py index cead58a..7d2632a 100644 --- a/rtv/subreddit.py +++ b/rtv/subreddit.py @@ -145,16 +145,6 @@ class SubredditPage(Page): self.refresh_content() - @SubredditController.register('y') - @logged_in - def save_submition(self): - data = self.content.get(self.nav.absolute_index) - url = data['permalink'] - with self.term.loader('Saving submission'): - page = SubmissionPage( - self.reddit, self.term, self.config, self.oauth, url=url) - page.content.save() - @SubredditController.register('s') @logged_in def open_subscriptions(self): @@ -218,10 +208,6 @@ class SubredditPage(Page): text, attr = 'NSFW', (curses.A_BOLD | Color.RED) self.term.add_line(win, text, attr=attr) - if data['saved']: - text, attr = ' SAVED', (curses.A_BOLD | Color.BLUE) - self.term.add_line(win, text, attr=attr) - row = n_title + offset + 2 if row in valid_rows: text = '{author}'.format(**data)