diff --git a/rtv/content.py b/rtv/content.py index 2f519df..bc2314f 100644 --- a/rtv/content.py +++ b/rtv/content.py @@ -135,17 +135,19 @@ class BaseContent(object): data['nsfw'] = sub.over_18 data['index'] = None # This is filled in later by the method caller - if data['permalink'].split('/r/')[-1] == data['url_full'].split('/r/')[-1]: + if data['flair'] and not data['flair'].startswith('['): + data['flair'] = '[{}]'.format(data['flair'].strip()) + + url_full = data['url_full'] + if data['permalink'].split('/r/')[-1] == url_full.split('/r/')[-1]: data['url_type'] = 'selfpost' - data['url'] = 'selfpost' - - elif reddit_link.match(data['url_full']): + data['url'] = 'self.{}'.format(data['subreddit']) + elif reddit_link.match(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(url_full)[3:]) else: data['url_type'] = 'external' - data['url'] = data['url_full'] + data['url'] = url_full return data @@ -164,6 +166,7 @@ class BaseContent(object): return data + class SubmissionContent(BaseContent): """ Grab a submission from PRAW and lazily store comments to an internal @@ -387,6 +390,7 @@ class SubredditContent(BaseContent): return data + class SubscriptionContent(BaseContent): def __init__(self, subscriptions, loader): @@ -409,8 +413,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/page.py b/rtv/page.py index b4a4dde..b16d3a5 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.oauth.clear_oauth_data() + 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): """