Merge pull request #243 from michael-lazar/handle_xpost_better
Handle xpost better
This commit is contained in:
@@ -127,10 +127,11 @@ class Content(object):
|
||||
displayed through the terminal.
|
||||
|
||||
Definitions:
|
||||
permalink - Full URL to the submission comments.
|
||||
url_full - Link that the submission points to.
|
||||
url - URL that is displayed on the subreddit page, may be
|
||||
"selfpost" or "x-post" or a link.
|
||||
permalink - URL to the reddit page with submission comments.
|
||||
url_full - URL that the submission points to.
|
||||
url - URL that will be displayed on the subreddit page, may be
|
||||
"selfpost", "x-post submission", "x-post subreddit", or an
|
||||
external link.
|
||||
"""
|
||||
|
||||
reddit_link = re.compile(
|
||||
@@ -146,8 +147,7 @@ class Content(object):
|
||||
data['text'] = sub.selftext
|
||||
data['created'] = cls.humanize_timestamp(sub.created_utc)
|
||||
data['comments'] = '{0} comments'.format(sub.num_comments)
|
||||
data['score'] = '{0} pts'.format(
|
||||
'-' if sub.hide_score else sub.score)
|
||||
data['score'] = '{0} pts'.format('-' if sub.hide_score else sub.score)
|
||||
data['author'] = name
|
||||
data['permalink'] = sub.permalink
|
||||
data['subreddit'] = six.text_type(sub.subreddit)
|
||||
@@ -158,6 +158,7 @@ class Content(object):
|
||||
data['nsfw'] = sub.over_18
|
||||
data['stickied'] = sub.stickied
|
||||
data['hidden'] = False
|
||||
data['xpost_subreddit'] = None
|
||||
data['index'] = None # This is filled in later by the method caller
|
||||
|
||||
if sub.url.split('/r/')[-1] == sub.permalink.split('/r/')[-1]:
|
||||
@@ -166,8 +167,13 @@ class Content(object):
|
||||
elif reddit_link.match(sub.url):
|
||||
# Strip the subreddit name from the permalink to avoid having
|
||||
# submission.subreddit.url make a separate API call
|
||||
data['url'] = 'self.{0}'.format(sub.url.split('/')[4])
|
||||
data['url_type'] = 'x-post'
|
||||
url_parts = sub.url.split('/')
|
||||
data['xpost_subreddit'] = url_parts[4]
|
||||
data['url'] = 'self.{0}'.format(url_parts[4])
|
||||
if 'comments' in url_parts:
|
||||
data['url_type'] = 'x-post submission'
|
||||
else:
|
||||
data['url_type'] = 'x-post subreddit'
|
||||
else:
|
||||
data['url'] = sub.url
|
||||
data['url_type'] = 'external'
|
||||
|
||||
@@ -291,7 +291,7 @@ class Page(object):
|
||||
else:
|
||||
title = sub_name
|
||||
|
||||
title = title + ' - rtv {0}'.format(__version__)
|
||||
title += ' - rtv {0}'.format(__version__)
|
||||
sys.stdout.write('\x1b]2;{0}\x07'.format(title))
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
@@ -100,7 +100,9 @@ class SubredditPage(Page):
|
||||
data = self.content.get(self.nav.absolute_index)
|
||||
if data['url_type'] == 'selfpost':
|
||||
self.open_submission()
|
||||
elif data['url_type'] == 'x-post':
|
||||
elif data['url_type'] == 'x-post subreddit':
|
||||
self.refresh_content(order='ignore', name=data['xpost_subreddit'])
|
||||
elif data['url_type'] == 'x-post submission':
|
||||
self.open_submission(url=data['url_full'])
|
||||
self.config.history.add(data['url_full'])
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user