Removing the gilded sorting option from the submission and search result pages

This commit is contained in:
Michael Lazar
2018-08-04 01:03:16 -04:00
parent 9f12aada91
commit b959b5d4bd
7 changed files with 30 additions and 25 deletions

1
.gitignore vendored
View File

@@ -4,7 +4,6 @@
!.gitignore !.gitignore
!.gitattributes !.gitattributes
!.coveragerc !.coveragerc
!CONTROLS.rst
*~ *~
*.pyc *.pyc
*.log *.log

View File

@@ -56,6 +56,7 @@ The ``/`` prompt accepts subreddits in the following formats
* ``/r/python`` * ``/r/python``
* ``/r/python/new`` * ``/r/python/new``
* ``/r/python/controversial-year`` * ``/r/python/controversial-year``
# ``/r/python/gilded``
* ``/r/python+linux`` supports multireddits * ``/r/python+linux`` supports multireddits
* ``/r/front`` will redirect to the front page * ``/r/front`` will redirect to the front page
* ``/u/me`` will display your submissions * ``/u/me`` will display your submissions

View File

@@ -90,10 +90,14 @@ https://github.com/michael-lazar/rtv
- /domain/python.org (search by domain) - /domain/python.org (search by domain)
""" """
BANNER = """ BANNER_SUBREDDIT = """
[1]hot [2]top [3]rising [4]new [5]controversial [6]gilded [1]hot [2]top [3]rising [4]new [5]controversial [6]gilded
""" """
BANNER_SUBMISSION = """
[1]hot [2]top [3]rising [4]new [5]controversial
"""
BANNER_SEARCH = """ BANNER_SEARCH = """
[1]relevance [2]top [3]comments [4]new [1]relevance [2]top [3]comments [4]new
""" """

View File

@@ -39,6 +39,7 @@ class PageController(Controller):
class Page(object): class Page(object):
BANNER = None
FOOTER = None FOOTER = None
def __init__(self, reddit, term, config, oauth): def __init__(self, reddit, term, config, oauth):
@@ -353,7 +354,9 @@ class Page(object):
continue continue
def draw(self): def draw(self):
"""
Clear the terminal screen and redraw all of the sub-windows
"""
n_rows, n_cols = self.term.stdscr.getmaxyx() n_rows, n_cols = self.term.stdscr.getmaxyx()
if n_rows < self.term.MIN_HEIGHT or n_cols < self.term.MIN_WIDTH: if n_rows < self.term.MIN_HEIGHT or n_cols < self.term.MIN_WIDTH:
# TODO: Will crash when you try to navigate if the terminal is too # TODO: Will crash when you try to navigate if the terminal is too
@@ -369,7 +372,9 @@ class Page(object):
self.term.stdscr.refresh() self.term.stdscr.refresh()
def _draw_header(self): def _draw_header(self):
"""
Draw the title bar at the top of the screen
"""
n_rows, n_cols = self.term.stdscr.getmaxyx() n_rows, n_cols = self.term.stdscr.getmaxyx()
# Note: 2 argument form of derwin breaks PDcurses on Windows 7! # Note: 2 argument form of derwin breaks PDcurses on Windows 7!
@@ -427,13 +432,15 @@ class Page(object):
self._row += 1 self._row += 1
def _draw_banner(self): def _draw_banner(self):
"""
Draw the banner with sorting options at the top of the page
"""
n_rows, n_cols = self.term.stdscr.getmaxyx() n_rows, n_cols = self.term.stdscr.getmaxyx()
window = self.term.stdscr.derwin(1, n_cols, self._row, 0) window = self.term.stdscr.derwin(1, n_cols, self._row, 0)
window.erase() window.erase()
window.bkgd(str(' '), self.term.attr('OrderBar')) window.bkgd(str(' '), self.term.attr('OrderBar'))
banner = docs.BANNER_SEARCH if self.content.query else docs.BANNER banner = docs.BANNER_SEARCH if self.content.query else self.BANNER
items = banner.strip().split(' ') items = banner.strip().split(' ')
distance = (n_cols - sum(len(t) for t in items) - 1) / (len(items) - 1) distance = (n_cols - sum(len(t) for t in items) - 1) / (len(items) - 1)
@@ -452,7 +459,6 @@ class Page(object):
""" """
Loop through submissions and fill up the content page. Loop through submissions and fill up the content page.
""" """
n_rows, n_cols = self.term.stdscr.getmaxyx() n_rows, n_cols = self.term.stdscr.getmaxyx()
window = self.term.stdscr.derwin(n_rows - self._row - 1, n_cols, self._row, 0) window = self.term.stdscr.derwin(n_rows - self._row - 1, n_cols, self._row, 0)
window.erase() window.erase()
@@ -525,7 +531,9 @@ class Page(object):
self._row += win_n_rows self._row += win_n_rows
def _draw_footer(self): def _draw_footer(self):
"""
Draw the key binds help bar at the bottom of the screen
"""
n_rows, n_cols = self.term.stdscr.getmaxyx() n_rows, n_cols = self.term.stdscr.getmaxyx()
window = self.term.stdscr.derwin(1, n_cols, self._row, 0) window = self.term.stdscr.derwin(1, n_cols, self._row, 0)
window.erase() window.erase()
@@ -548,7 +556,6 @@ class Page(object):
self.term.flash() self.term.flash()
def _prompt_period(self, order): def _prompt_period(self, order):
choices = { choices = {
'\n': order, '\n': order,
'1': '{0}-hour'.format(order), '1': '{0}-hour'.format(order),

View File

@@ -17,6 +17,7 @@ class SubmissionController(PageController):
class SubmissionPage(Page): class SubmissionPage(Page):
BANNER = docs.BANNER_SUBMISSION
FOOTER = docs.FOOTER_SUBMISSION FOOTER = docs.FOOTER_SUBMISSION
def __init__(self, reddit, term, config, oauth, url=None, submission=None): def __init__(self, reddit, term, config, oauth, url=None, submission=None):
@@ -48,10 +49,6 @@ class SubmissionPage(Page):
def sort_content_rising(self): def sort_content_rising(self):
self.refresh_content(order='rising') self.refresh_content(order='rising')
@SubmissionController.register(Command('SORT_GILDED'))
def sort_content_gilded(self):
self.refresh_content(order='gilded')
@SubmissionController.register(Command('SORT_NEW')) @SubmissionController.register(Command('SORT_NEW'))
def sort_content_new(self): def sort_content_new(self):
self.refresh_content(order='new') self.refresh_content(order='new')

View File

@@ -19,6 +19,7 @@ class SubredditController(PageController):
class SubredditPage(Page): class SubredditPage(Page):
BANNER = docs.BANNER_SUBREDDIT
FOOTER = docs.FOOTER_SUBREDDIT FOOTER = docs.FOOTER_SUBREDDIT
def __init__(self, reddit, term, config, oauth, name): def __init__(self, reddit, term, config, oauth, name):
@@ -66,7 +67,6 @@ class SubredditPage(Page):
else: else:
self.refresh_content(order='hot') self.refresh_content(order='hot')
@SubredditController.register(Command('SORT_TOP')) @SubredditController.register(Command('SORT_TOP'))
def sort_content_top(self): def sort_content_top(self):
order = self._prompt_period('top') order = self._prompt_period('top')
@@ -86,17 +86,6 @@ class SubredditPage(Page):
else: else:
self.refresh_content(order='rising') self.refresh_content(order='rising')
@SubredditController.register(Command('SORT_GILDED'))
def sort_content_gilded(self):
if self.content.query:
order = self._prompt_period('comments')
if order is None:
self.term.show_notification('Invalid option')
else:
self.refresh_content(order=order)
else:
self.refresh_content(order='gilded')
@SubredditController.register(Command('SORT_NEW')) @SubredditController.register(Command('SORT_NEW'))
def sort_content_new(self): def sort_content_new(self):
self.refresh_content(order='new') self.refresh_content(order='new')
@@ -112,6 +101,13 @@ class SubredditPage(Page):
else: else:
self.refresh_content(order=order) self.refresh_content(order=order)
@SubredditController.register(Command('SORT_GILDED'))
def sort_content_gilded(self):
if self.content.query:
self.term.flash()
else:
self.refresh_content(order='gilded')
@SubredditController.register(Command('SUBREDDIT_SEARCH')) @SubredditController.register(Command('SUBREDDIT_SEARCH'))
def search_subreddit(self, name=None): def search_subreddit(self, name=None):
""" """

View File

@@ -13,6 +13,7 @@ class SubscriptionController(PageController):
class SubscriptionPage(Page): class SubscriptionPage(Page):
BANNER = None
FOOTER = docs.FOOTER_SUBSCRIPTION FOOTER = docs.FOOTER_SUBSCRIPTION
def __init__(self, reddit, term, config, oauth, content_type='subreddit'): def __init__(self, reddit, term, config, oauth, content_type='subreddit'):