Making the user page titles a little fancier
This commit is contained in:
@@ -529,21 +529,41 @@ class SubredditContent(Content):
|
||||
if resource_root == 'user':
|
||||
resource_root = 'u'
|
||||
elif resource_root.startswith('user/'):
|
||||
# Special check for multi-reddit resource roots
|
||||
# E.g.
|
||||
# before: resource_root = "user/civilization_phaze_3/m"
|
||||
# After: resource_root = "u/civilization_phaze_3/m"
|
||||
resource_root = 'u' + resource_root[4:]
|
||||
|
||||
# The parts left should be in one of the following two forms:
|
||||
# [resource, order]
|
||||
# [resource, user_room, order]
|
||||
# The parts left should be in one of the following forms:
|
||||
# [resource]
|
||||
# [resource, order]
|
||||
# [resource, user_room, order]
|
||||
|
||||
user_rooms = ['overview', 'submitted', 'comments']
|
||||
private_user_rooms = ['upvoted', 'downvoted', 'hidden', 'saved']
|
||||
user_room = None
|
||||
|
||||
if len(parts) == 1:
|
||||
# E.g. /r/python
|
||||
# parts = ["python"]
|
||||
# resource = "python"
|
||||
# resource_order = None
|
||||
resource, resource_order = parts[0], None
|
||||
elif resource_root == 'u' and len(parts) in [2, 3] \
|
||||
and parts[1] in user_rooms + private_user_rooms:
|
||||
# E.g. /u/spez/submitted/top ->
|
||||
# parts = ["spez", "submitted", "top"]
|
||||
# resource = "spez"
|
||||
# user_room = "submitted"
|
||||
# resource_order = "top"
|
||||
resource, user_room = parts[:2]
|
||||
resource_order = parts[2] if len(parts) == 3 else None
|
||||
elif len(parts) == 2:
|
||||
# E.g. /r/python/top
|
||||
# parts = ["python", "top"]
|
||||
# resource = "python
|
||||
# resource_order = "top"
|
||||
resource, resource_order = parts
|
||||
else:
|
||||
raise InvalidSubreddit('`{}` is an invalid format'.format(name))
|
||||
@@ -636,18 +656,20 @@ class SubredditContent(Content):
|
||||
user_room = user_room or 'overview'
|
||||
order = order or 'new'
|
||||
period = period or 'all'
|
||||
submissions = getattr(reddit.user, 'get_%s' % user_room
|
||||
)(sort=order, time=period, limit=None)
|
||||
method = getattr(reddit.user, 'get_%s' % user_room)
|
||||
submissions = method(sort=order, time=period, limit=None)
|
||||
|
||||
elif resource_root == 'u':
|
||||
user_room = user_room or 'overview'
|
||||
if not user_room in user_rooms:
|
||||
raise InvalidSubreddit('Unavailable Resourse')
|
||||
if user_room not in user_rooms:
|
||||
# Tried to access a private room like "u/me/hidden" for a
|
||||
# different redditor
|
||||
raise InvalidSubreddit('Unavailable Resource')
|
||||
order = order or 'new'
|
||||
period = period or 'all'
|
||||
redditor = reddit.get_redditor(resource)
|
||||
submissions = getattr(redditor, 'get_%s' % user_room
|
||||
)(sort=order, time=period, limit=None)
|
||||
method = getattr(redditor, 'get_%s' % user_room)
|
||||
submissions = method(sort=order, time=period, limit=None)
|
||||
|
||||
elif resource == 'front':
|
||||
if order in (None, 'hot'):
|
||||
|
||||
@@ -87,7 +87,7 @@ https://github.com/michael-lazar/rtv
|
||||
- /u/me/{saved,hidden} (your saved or hidden posts)
|
||||
- /u/me/{upvoted,downvoted} (your voted posts)
|
||||
- /u/spez (a user's submissions overview)
|
||||
- /u/spez{submitted,comments} (a user's posts or comments)
|
||||
- /u/spez/{submitted,comments} (a user's posts or comments)
|
||||
- /u/multi-mod/m/android (curated multireddit)
|
||||
- /domain/python.org (search by domain)
|
||||
"""
|
||||
|
||||
15
rtv/page.py
15
rtv/page.py
@@ -395,11 +395,20 @@ class Page(object):
|
||||
pass
|
||||
elif '/m/' in sub_name:
|
||||
_, _, user, _, multi = parts
|
||||
sub_name = '{} curated by {}'.format(multi, user)
|
||||
sub_name = '{} Curated by {}'.format(multi, user)
|
||||
elif parts[1] == 'u':
|
||||
noun = 'My' if parts[2] == 'me' else parts[2] + "'s"
|
||||
user_room = {3: 'overview', 4: parts[-1]}[len(parts)].capitalize()
|
||||
sub_name = "{} {}".format(noun, user_room)
|
||||
user_room = parts[3] if len(parts) == 4 else 'overview'
|
||||
title_lookup = {
|
||||
'overview': 'Overview',
|
||||
'submitted': 'Submissions',
|
||||
'comments': 'Comments',
|
||||
'saved': 'Saved Content',
|
||||
'hidden': 'Hidden Content',
|
||||
'upvoted': 'Upvoted Content',
|
||||
'downvoted': 'Downvoted Content'
|
||||
}
|
||||
sub_name = "{} {}".format(noun, title_lookup[user_room])
|
||||
|
||||
query = self.content.query
|
||||
if query:
|
||||
|
||||
Reference in New Issue
Block a user