From 42d40cf6fc82f5ebb1dbbefea56ed142ae826657 Mon Sep 17 00:00:00 2001 From: Obosob Date: Fri, 31 Jul 2015 09:18:52 +0100 Subject: [PATCH] Make selfpost/x-post logic easier to follow --- rtv/content.py | 18 +++++++++++------- rtv/subreddit.py | 7 ++----- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/rtv/content.py b/rtv/content.py index cdaccef..c0d397f 100644 --- a/rtv/content.py +++ b/rtv/content.py @@ -107,7 +107,6 @@ class BaseContent(object): """ reddit_link = re.compile("https?://(www\.)?(np\.)?redd(it\.com|\.it)/r/.*") - reddit_link_no_host = re.compile("/r/.*") author = getattr(sub, 'author', '[deleted]') name = getattr(author, 'name', '[deleted]') flair = getattr(sub, 'link_flair_text', '') @@ -126,13 +125,18 @@ class BaseContent(object): data['flair'] = flair data['url_full'] = sub.url - if reddit_link.match(sub.url): - stripped_url = reddit_link_no_host.search(sub.url).group() - stripped_comments = reddit_link_no_host.search(sub.permalink).group() - data['url'] = ('selfpost' if stripped_url == stripped_comments - else 'x-post') + if data['permalink'].split('/r/')[-1] == data['url_full'].split('/r/')[-1]: + data['url_type'] = 'selfpost' + data['url'] = 'selfpost' + + elif reddit_link.match(data['url_full']): + data['url_type'] = 'x-post' + data['url'] = 'x-post via {}'.format(strip_subreddit_url(data['url_full'])) + else: - data['url'] = sub.url + data['url_type'] = 'external' + data['url'] = data['url_full'] + data['likes'] = sub.likes data['gold'] = sub.gilded > 0 data['nsfw'] = sub.over_18 diff --git a/rtv/subreddit.py b/rtv/subreddit.py index c27b45f..342bea2 100644 --- a/rtv/subreddit.py +++ b/rtv/subreddit.py @@ -109,7 +109,7 @@ class SubredditPage(BasePage): data = self.content.get(self.nav.absolute_index) url = data['url_full'] - if data['url'] in ['x-post', 'selfpost']: + if data['url_type'] in ['x-post', 'selfpost']: page = SubmissionPage(self.stdscr, self.reddit, url=url) page.loop() else: @@ -178,10 +178,7 @@ class SubredditPage(BasePage): seen = (data['url_full'] in history) link_color = Color.MAGENTA if seen else Color.BLUE attr = curses.A_UNDERLINE | link_color - if data['url'] == 'x-post': - add_line(win, u'x-post via {}'.format(strip_subreddit_url(data['url_full'])), row, 1, attr) - else: - add_line(win, u'{url}'.format(**data), row, 1, attr) + add_line(win, u'{url}'.format(**data), row, 1, attr) row = n_title + offset + 1 if row in valid_rows: