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:
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user