Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Commit

Permalink
Making the user page titles a little fancier
Browse files Browse the repository at this point in the history
  • Loading branch information
michael-lazar committed Oct 2, 2018
1 parent 510f353 commit 81e90fc
Show file tree
Hide file tree
Showing 11 changed files with 4,886 additions and 5,447 deletions.
40 changes: 31 additions & 9 deletions rtv/content.py
Expand Up @@ -529,21 +529,41 @@ def from_name(cls, reddit, name, loader, order=None, query=None):
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))
Expand Down Expand Up @@ -636,18 +656,20 @@ def from_name(cls, reddit, name, loader, order=None, query=None):
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'):
Expand Down
2 changes: 1 addition & 1 deletion rtv/docs.py
Expand Up @@ -87,7 +87,7 @@
- /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)
"""
Expand Down
15 changes: 12 additions & 3 deletions rtv/page.py
Expand Up @@ -395,11 +395,20 @@ def _draw_header(self):
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:
Expand Down

0 comments on commit 81e90fc

Please sign in to comment.