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