Added refresh with "r", something is going on with the cursor blink.

This commit is contained in:
Michael Lazar
2015-01-25 02:23:07 -08:00
parent 97357a79d2
commit 3fb39d344d
2 changed files with 26 additions and 9 deletions

View File

@@ -83,7 +83,7 @@ class SubredditGenerator(object):
list for repeat access. list for repeat access.
""" """
def __init__(self, reddit_session, subreddit=None): def __init__(self, reddit_session, subreddit='front'):
""" """
params: params:
session (praw.Reddit): Active reddit connection session (praw.Reddit): Active reddit connection
@@ -92,14 +92,12 @@ class SubredditGenerator(object):
self.r = reddit_session self.r = reddit_session
self.r.config.decode_html_entities = True self.r.config.decode_html_entities = True
if subreddit is None: self.subreddit = None
self._submissions = self.r.get_front_page(limit=None) self.display_name = None
self.display_name = 'Front Page' self._submissions = None
else: self._submission_data = None
self._submissions = self.r.get_subreddit(subreddit, limit=None)
self.display_name = self._submissions.display_name
self._submission_data = [] self.reset(subreddit=subreddit)
@staticmethod @staticmethod
def strip_praw_submission(sub): def strip_praw_submission(sub):
@@ -151,4 +149,21 @@ class SubredditGenerator(object):
while True: while True:
yield self.get(index, n_cols) yield self.get(index, n_cols)
index += step index += step
def reset(self, subreddit=None):
"""
Clear the internal list and fetch a new submission generator. Switch
to the specified subreddit if one is given.
"""
# Fall back to the internal value if nothing is passed in.
self.subreddit = subreddit or self.subreddit
self._submission_data = []
if self.subreddit == 'front':
self._submissions = self.r.get_front_page(limit=None)
self.display_name = 'Front Page'
else:
self._submissions = self.r.get_subreddit(self.subreddit, limit=None)
self.display_name = self._submissions.display_name

View File

@@ -40,6 +40,8 @@ class SubredditViewer(BaseViewer):
# Refresh page # Refresh page
elif cmd in (curses.KEY_F5, ord('r')): elif cmd in (curses.KEY_F5, ord('r')):
self.content.reset()
self.stdscr.clear()
self.draw() self.draw()
# Quit # Quit