Merge with @alexk307 added comments save support

Added comments save support
Centralized save
Keep 'w' as key to save post/comment
This commit is contained in:
David Foucher
2016-01-21 01:37:17 +01:00
parent b943154174
commit 74c2008226
5 changed files with 6 additions and 41 deletions

View File

@@ -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 :``d``: Delete an existing post or comment
:``i``: Display new messages prompt :``i``: Display new messages prompt
:``s``: View a list of subscribed subreddits :``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 Subreddit Mode

View File

@@ -159,7 +159,6 @@ class Content(object):
data['gold'] = sub.gilded > 0 data['gold'] = sub.gilded > 0
data['nsfw'] = sub.over_18 data['nsfw'] = sub.over_18
data['stickied'] = sub.stickied data['stickied'] = sub.stickied
data['saved'] = sub.saved
data['index'] = None # This is filled in later by the method caller data['index'] = None # This is filled in later by the method caller
data['saved'] = sub.saved data['saved'] = sub.saved
@@ -262,11 +261,6 @@ class SubmissionContent(Content):
submission = reddit.get_submission(url, comment_sort=order) submission = reddit.get_submission(url, comment_sort=order)
return cls(submission, loader, indent_size, max_indent_level, 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): def get(self, index, n_cols=70):
""" """
@@ -400,6 +394,8 @@ class SubredditContent(Content):
elif name == 'saved': elif name == 'saved':
if not reddit.is_oauth_session(): if not reddit.is_oauth_session():
raise exceptions.AccountError('Not logged in') raise exceptions.AccountError('Not logged in')
elif order:
submissions = reddit.user.get_submitted(sort=order)
else: else:
submissions = reddit.user.get_saved() submissions = reddit.user.get_saved()
@@ -419,15 +415,6 @@ class SubredditContent(Content):
'new': reddit.get_new, 'new': reddit.get_new,
'controversial': reddit.get_controversial, '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: else:
subreddit = reddit.get_subreddit(name) subreddit = reddit.get_subreddit(name)
dispatch = { dispatch = {

View File

@@ -157,7 +157,7 @@ class Page(object):
@PageController.register('w') @PageController.register('w')
@logged_in @logged_in
def savepost(self): def save(self):
data = self.content.get(self.nav.absolute_index) data = self.content.get(self.nav.absolute_index)
if 'saved' not in data: if 'saved' not in data:
self.term.flash() self.term.flash()

View File

@@ -70,14 +70,6 @@ class SubmissionPage(Page):
else: else:
self.term.flash() 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') @SubmissionController.register('c')
@logged_in @logged_in
def add_comment(self): def add_comment(self):
@@ -175,7 +167,7 @@ class SubmissionPage(Page):
self.term.add_line(win, text, attr=attr) self.term.add_line(win, text, attr=attr)
if data['saved']: if data['saved']:
text, attr = 'SAVED', (curses.A_BOLD | Color.BLUE) text, attr = self.term.saved
self.term.add_line(win, text, attr=attr) self.term.add_line(win, text, attr=attr)
for row, text in enumerate(data['split_body'], start=offset+1): 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) self.term.add_line(win, text, attr=attr)
if data['saved']: if data['saved']:
text, attr = 'SAVED', (curses.A_BOLD | Color.RED) text, attr = self.term.saved
self.term.add_line(win, text, attr=attr) self.term.add_line(win, text, attr=attr)
win.border() win.border()

View File

@@ -145,16 +145,6 @@ class SubredditPage(Page):
self.refresh_content() 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') @SubredditController.register('s')
@logged_in @logged_in
def open_subscriptions(self): def open_subscriptions(self):
@@ -218,10 +208,6 @@ class SubredditPage(Page):
text, attr = 'NSFW', (curses.A_BOLD | Color.RED) text, attr = 'NSFW', (curses.A_BOLD | Color.RED)
self.term.add_line(win, text, attr=attr) 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 row = n_title + offset + 2
if row in valid_rows: if row in valid_rows:
text = '{author}'.format(**data) text = '{author}'.format(**data)