From 5fcd7e517a58539e94f9165eca16ff555b34e6a5 Mon Sep 17 00:00:00 2001 From: codesoap Date: Sat, 25 Aug 2018 21:30:08 +0200 Subject: [PATCH] Save the correct link in the history --- rtv/submission_page.py | 14 +++++++++----- rtv/terminal.py | 9 ++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/rtv/submission_page.py b/rtv/submission_page.py index 1ab9fef..d637d19 100644 --- a/rtv/submission_page.py +++ b/rtv/submission_page.py @@ -147,8 +147,9 @@ class SubmissionPage(Page): data = self.get_selected_item() if data['type'] == 'Submission': - self.prompt_and_open_link(data) - self.config.history.add(data['url_full']) + opened_link = self.prompt_and_open_link(data) + if opened_link is not None: + self.config.history.add(opened_link) elif data['type'] == 'Comment' and data['permalink']: self.prompt_and_open_link(data) else: @@ -159,11 +160,14 @@ class SubmissionPage(Page): if data['html']: links += self.get_links_in_html(data['html']) if len(links) > 1: - self.term.prompt_user_and_open_selected_link(links) + link = self.term.prompt_user_to_select_link(links) elif 'url_full' in data and data['url_full']: - self.term.open_link(data['url_full']) + link = data['url_full'] else: - self.term.open_link(data['permalink']) + link = data['permalink'] + if link is not None: + self.term.open_link(link) + return link def get_links_in_html(self, html): links = [] diff --git a/rtv/terminal.py b/rtv/terminal.py index 6c4cca8..ca50cd1 100644 --- a/rtv/terminal.py +++ b/rtv/terminal.py @@ -354,7 +354,7 @@ class Terminal(object): return ch - def prompt_user_and_open_selected_link(self, links): + def prompt_user_to_select_link(self, links): link_pages = self.get_link_pages(links) for link_page in link_pages: text = self.get_link_page_text(link_page) @@ -364,13 +364,12 @@ class Terminal(object): try: choice = int(chr(self.show_notification(text))) except ValueError: - return + return None if link_page is not link_pages[-1] and choice == 9: continue elif choice == 0 or choice > len(link_page): - return - self.open_link(link_page[choice - 1]['href']) - return + return None + return link_page[choice - 1]['href'] def get_link_pages(self, links): link_pages = []