diff --git a/rtv/content.py b/rtv/content.py index 2f519df..4e473c4 100644 --- a/rtv/content.py +++ b/rtv/content.py @@ -135,13 +135,17 @@ class BaseContent(object): data['nsfw'] = sub.over_18 data['index'] = None # This is filled in later by the method caller + if flair and not flair.startswith('['): + data['flair'] = '[{}]'.format(flair.strip()) + if data['permalink'].split('/r/')[-1] == data['url_full'].split('/r/')[-1]: data['url_type'] = 'selfpost' - data['url'] = 'selfpost' + data['url'] = 'self.{}'.format(data['subreddit']) elif reddit_link.match(data['url_full']): data['url_type'] = 'x-post' - data['url'] = 'x-post via {}'.format(strip_subreddit_url(data['url_full'])) + data['url'] = 'self.{}'.format(strip_subreddit_url( + data['url_full'])[3:]) else: data['url_type'] = 'external' @@ -164,6 +168,7 @@ class BaseContent(object): return data + class SubmissionContent(BaseContent): """ Grab a submission from PRAW and lazily store comments to an internal @@ -387,6 +392,7 @@ class SubredditContent(BaseContent): return data + class SubscriptionContent(BaseContent): def __init__(self, subscriptions, loader): @@ -409,8 +415,8 @@ class SubscriptionContent(BaseContent): def get(self, index, n_cols=70): """ - Grab the `i`th subscription, with the title field formatted to fit inside - of a window of width `n_cols` + Grab the `i`th subscription, with the title field formatted to fit + inside of a window of width `n_cols` """ if index < 0: diff --git a/rtv/oauth.py b/rtv/oauth.py index 62aee86..6d73cc4 100644 --- a/rtv/oauth.py +++ b/rtv/oauth.py @@ -106,7 +106,7 @@ class OAuthTool(object): except (praw.errors.OAuthAppRequired, praw.errors.OAuthInvalidToken): show_notification(self.stdscr, ['Invalid OAuth data']) else: - message = ['Welcome {}!'.format(self.reddit.user.name)] + message = ['Welcome, {}!'.format(self.reddit.user.name)] show_notification(self.stdscr, message) def clear_oauth_data(self): diff --git a/rtv/page.py b/rtv/page.py index b4a4dde..396d5f7 100644 --- a/rtv/page.py +++ b/rtv/page.py @@ -265,7 +265,15 @@ class BasePage(object): @BaseController.register('q') def exit(self): - sys.exit() + """ + Prompt to exit the application. + """ + + ch = prompt_input(self.stdscr, "Do you really want to quit? (y/n): ") + if ch == 'y': + sys.exit() + elif ch != 'n': + curses.flash() @BaseController.register('?') def help(self): @@ -350,8 +358,12 @@ class BasePage(object): """ if self.reddit.is_oauth_session(): - self.oauth.clear_oauth_data() - show_notification(self.stdscr, ['Logged out']) + ch = prompt_input(self.stdscr, "Log out? (y/n): ") + if ch == 'y': + self.reddit.clear_authentication() + show_notification(self.stdscr, ['Logged out']) + elif ch != 'n': + curses.flash() else: self.oauth.authorize() @@ -370,7 +382,7 @@ class BasePage(object): curses.flash() return - prompt = 'Are you sure you want to delete this? (y/n):' + prompt = 'Are you sure you want to delete this? (y/n): ' char = prompt_input(self.stdscr, prompt) if char != 'y': show_notification(self.stdscr, ['Aborted']) @@ -446,18 +458,6 @@ class BasePage(object): continue self.stdscr.nodelay(0) - def logout(self): - """ - Prompt to log out of the user's account. - """ - - ch = prompt_input(self.stdscr, "Log out? (y/n):") - if ch == 'y': - self.reddit.clear_authentication() - show_notification(self.stdscr, ['Logged out']) - elif ch != 'n': - curses.flash() - @property def safe_call(self): """