Merge pull request #579 from michael-lazar/edridgedsouza-master

Attempt #2 at adding in the 'gilded' feature
This commit is contained in:
Michael Lazar
2018-08-04 01:59:26 -04:00
committed by GitHub
21 changed files with 8916 additions and 2141 deletions

View File

@@ -10,6 +10,7 @@ python:
matrix: matrix:
allow_failures: allow_failures:
- python: nightly - python: nightly
- python: 3.7
fast_finish: true fast_finish: true
before_install: before_install:
- pip install --upgrade pip - pip install --upgrade pip

View File

@@ -9,7 +9,7 @@ Basic Commands
:``j``/``k`` or ``▲``/``▼``: Move the cursor up/down :``j``/``k`` or ``▲``/``▼``: Move the cursor up/down
:``m``/``n`` or ``PgUp``/``PgDn``: Jump to the previous/next page :``m``/``n`` or ``PgUp``/``PgDn``: Jump to the previous/next page
:``gg``/``G``: Jump to the top/bottom of the page :``gg``/``G``: Jump to the top/bottom of the page
:``1-5``: Toggle post order (*hot*, *top*, *rising*, *new*, *controversial*) :``1-6``: Toggle post order (*hot*, *top*, *rising*, *new*, *controversial*, *gilded*)
:``r`` or ``F5``: Refresh page content :``r`` or ``F5``: Refresh page content
:``u``: Log in or switch accounts :``u``: Log in or switch accounts
:``/``: Open a prompt to switch subreddits :``/``: Open a prompt to switch subreddits
@@ -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

@@ -7,3 +7,4 @@ six==1.10.0
pytest==3.2.3 pytest==3.2.3
vcrpy==1.10.5 vcrpy==1.10.5
pylint==1.6.5 pylint==1.6.5
pytest-xdist==1.22.5

0
rtv/__main__.py Normal file → Executable file
View File

View File

@@ -543,7 +543,7 @@ class SubredditContent(Content):
orders = ['relevance', 'top', 'comments', 'new', None] orders = ['relevance', 'top', 'comments', 'new', None]
period_allowed = ['top', 'comments'] period_allowed = ['top', 'comments']
else: else:
orders = ['hot', 'top', 'rising', 'new', 'controversial', None] orders = ['hot', 'top', 'rising', 'new', 'controversial', 'gilded', None]
period_allowed = ['top', 'controversial'] period_allowed = ['top', 'controversial']
if order not in orders: if order not in orders:

View File

@@ -43,6 +43,7 @@ https://github.com/michael-lazar/rtv
3 : Sort by rising 3 : Sort by rising
4 : Sort by new 4 : Sort by new
5 : Sort by controversial 5 : Sort by controversial
6 : Sort by gilded
p : Return to the front page p : Return to the front page
r : Refresh page r : Refresh page
u : Login or logout u : Login or logout
@@ -77,6 +78,7 @@ https://github.com/michael-lazar/rtv
- /r/python - /r/python
- /r/python/new (sort) - /r/python/new (sort)
- /r/python/controversial-year (sort and order) - /r/python/controversial-year (sort and order)
- /r/python/gilded (gilded within subreddit)
- /r/python+linux (multireddit) - /r/python+linux (multireddit)
- /r/python/comments/30rwj2 (submission comments) - /r/python/comments/30rwj2 (submission comments)
- /comments/30rwj2 (submission comments shorthand) - /comments/30rwj2 (submission comments shorthand)
@@ -88,7 +90,11 @@ 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
"""
BANNER_SUBMISSION = """
[1]hot [2]top [3]rising [4]new [5]controversial [1]hot [2]top [3]rising [4]new [5]controversial
""" """

View File

@@ -10,7 +10,7 @@ from __future__ import absolute_import
import sys import sys
__praw_hash__ = '1e82eb0f8690a2acbdc15d030130dc50507eb4ba' __praw_hash__ = '1656ec224e574eed9cda4efcb497825d54b4d926'
__praw_bundled__ = True __praw_bundled__ = True

View File

@@ -96,6 +96,7 @@ class Config(object): # pylint: disable=R0903
'friends': 'prefs/friends/', 'friends': 'prefs/friends/',
'gild_thing': 'api/v1/gold/gild/{fullname}/', 'gild_thing': 'api/v1/gold/gild/{fullname}/',
'gild_user': 'api/v1/gold/give/{username}/', 'gild_user': 'api/v1/gold/give/{username}/',
'gilded': 'gilded/',
'help': 'help/', 'help': 'help/',
'hide': 'api/hide/', 'hide': 'api/hide/',
'ignore_reports': 'api/ignore_reports/', 'ignore_reports': 'api/ignore_reports/',
@@ -841,7 +842,7 @@ class UnauthenticatedReddit(BaseReddit):
:param domain: The domain to generate a submission listing for. :param domain: The domain to generate a submission listing for.
:param sort: When provided must be one of 'hot', 'new', 'rising', :param sort: When provided must be one of 'hot', 'new', 'rising',
'controversial, or 'top'. Defaults to 'hot'. 'controversial, 'gilded', or 'top'. Defaults to 'hot'.
:param period: When sort is either 'controversial', or 'top' the period :param period: When sort is either 'controversial', or 'top' the period
can be either None (for account default), 'all', 'year', 'month', can be either None (for account default), 'all', 'year', 'month',
'week', 'day', or 'hour'. 'week', 'day', or 'hour'.
@@ -851,7 +852,8 @@ class UnauthenticatedReddit(BaseReddit):
""" """
# Verify arguments # Verify arguments
if sort not in ('controversial', 'hot', 'new', 'rising', 'top'): if sort not in ('controversial', 'hot', 'new', 'rising', 'top',
'gilded'):
raise TypeError('Invalid sort parameter.') raise TypeError('Invalid sort parameter.')
if period not in (None, 'all', 'day', 'hour', 'month', 'week', 'year'): if period not in (None, 'all', 'day', 'hour', 'month', 'week', 'year'):
raise TypeError('Invalid period parameter.') raise TypeError('Invalid period parameter.')
@@ -1172,6 +1174,19 @@ class UnauthenticatedReddit(BaseReddit):
""" """
return self.get_content(self.config['top'], *args, **kwargs) return self.get_content(self.config['top'], *args, **kwargs)
@decorators.restrict_access(scope='read')
def get_gilded(self, *args, **kwargs):
"""Return a get_content generator for gilded submissions.
Corresponds to the submissions provided by
``https://www.reddit.com/gilded/`` for the session.
The additional parameters are passed directly into
:meth:`.get_content`. Note: the `url` parameter cannot be altered.
"""
return self.get_content(self.config['gilded'], *args, **kwargs)
# There exists a `modtraffic` scope, but it is unused. # There exists a `modtraffic` scope, but it is unused.
@decorators.restrict_access(scope='modconfig') @decorators.restrict_access(scope='modconfig')
def get_traffic(self, subreddit): def get_traffic(self, subreddit):

View File

@@ -1579,6 +1579,7 @@ class Subreddit(Messageable, Refreshable):
get_hot = _get_sorter('') get_hot = _get_sorter('')
get_new = _get_sorter('new') get_new = _get_sorter('new')
get_top = _get_sorter('top') get_top = _get_sorter('top')
get_gilded = _get_sorter('gilded')
# Explicit listing selectors # Explicit listing selectors
get_controversial_from_all = _get_sorter('controversial', t='all') get_controversial_from_all = _get_sorter('controversial', t='all')

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):

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):
@@ -100,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'):

View File

@@ -116,6 +116,7 @@ SORT_TOP = 2
SORT_RISING = 3 SORT_RISING = 3
SORT_NEW = 4 SORT_NEW = 4
SORT_CONTROVERSIAL = 5 SORT_CONTROVERSIAL = 5
SORT_GILDED = 6
MOVE_UP = k, <KEY_UP> MOVE_UP = k, <KEY_UP>
MOVE_DOWN = j, <KEY_DOWN> MOVE_DOWN = j, <KEY_DOWN>
PREVIOUS_THEME = <KEY_F2> PREVIOUS_THEME = <KEY_F2>

View File

@@ -0,0 +1,886 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [rtv test suite PRAW/3.6.1 Python/3.6.5 b'Darwin-17.7.0-x86_64-i386-64bit']
method: GET
uri: https://api.reddit.com/r/pics/gilded.json?limit=1024
response:
body:
string: !!binary |
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
headers:
Accept-Ranges: [bytes]
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Length: ['48208']
Content-Type: [application/json; charset=UTF-8]
Date: ['Sat, 04 Aug 2018 05:15:10 GMT']
Server: [snooserv]
Set-Cookie: [edgebucket=TnAJF2IYYofjO3mRok; Domain=reddit.com; Max-Age=63071999;
Path=/; secure]
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
Vary: [accept-encoding]
Via: [1.1 varnish]
X-Cache: [MISS]
X-Cache-Hits: ['0']
X-Moose: [majestic]
X-Served-By: [cache-mdw17365-MDW]
X-Timer: ['S1533359710.122692,VS0,VE586']
access-control-allow-origin: ['*']
access-control-expose-headers: [X-Moose]
cache-control: ['max-age=0, must-revalidate']
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-ua-compatible: [IE=edge]
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
version: 1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -31,6 +31,7 @@ SUBREDDIT_PROMPTS = OrderedDict([
('top', ('pics/top', '/r/pics', 'top')), ('top', ('pics/top', '/r/pics', 'top')),
('rising', ('r/pics/rising', '/r/pics', 'rising')), ('rising', ('r/pics/rising', '/r/pics', 'rising')),
('controversial', ('/r/pics/controversial', '/r/pics', 'controversial')), ('controversial', ('/r/pics/controversial', '/r/pics', 'controversial')),
('gilded', ('/r/pics/gilded', '/r/pics', 'gilded')),
('top-day', ('/r/pics/top-day', '/r/pics', 'top-day')), ('top-day', ('/r/pics/top-day', '/r/pics', 'top-day')),
('top-hour', ('/r/pics/top-hour', '/r/pics', 'top-hour')), ('top-hour', ('/r/pics/top-hour', '/r/pics', 'top-hour')),
('top-month', ('/r/pics/top-month', '/r/pics', 'top-month')), ('top-month', ('/r/pics/top-month', '/r/pics', 'top-month')),
@@ -456,6 +457,14 @@ def test_content_subreddit_random(reddit, terminal):
assert content.name != name assert content.name != name
def test_content_subreddit_gilded(reddit, terminal):
name = '/r/python/gilded'
content = SubredditContent.from_name(reddit, name, terminal.loader)
assert content.order == 'gilded'
assert content.get(0)['object'].gilded
def test_content_subreddit_me(reddit, oauth, refresh_token, terminal): def test_content_subreddit_me(reddit, oauth, refresh_token, terminal):
# Not logged in # Not logged in

View File

@@ -186,6 +186,10 @@ def test_submission_order(submission_page):
submission_page.controller.trigger('5') submission_page.controller.trigger('5')
assert submission_page.content.order == 'controversial' assert submission_page.content.order == 'controversial'
# Shouldn't be able to sort the submission page by gilded
submission_page.controller.trigger('6')
assert submission_page.content.order == 'controversial'
def test_submission_move_top_bottom(submission_page): def test_submission_move_top_bottom(submission_page):

View File

@@ -30,11 +30,7 @@ def test_subreddit_page_construct(reddit, terminal, config, oauth):
window.addstr.assert_any_call(0, 0, title) window.addstr.assert_any_call(0, 0, title)
# Banner # Banner
menu = ('[1]hot ' menu = '[1]hot [2]top [3]rising [4]new [5]controversial [6]gilded'.encode('utf-8')
'[2]top '
'[3]rising '
'[4]new '
'[5]controversial').encode('utf-8')
window.addstr.assert_any_call(0, 0, menu) window.addstr.assert_any_call(0, 0, menu)
# Submission # Submission
@@ -194,6 +190,9 @@ def test_subreddit_prompt_submission_invalid(subreddit_page, terminal):
def test_subreddit_order(subreddit_page): def test_subreddit_order(subreddit_page):
# /r/python doesn't always have rising submissions, so use a larger sub
subreddit_page.refresh_content(name='all')
subreddit_page.content.query = '' subreddit_page.content.query = ''
subreddit_page.controller.trigger('1') subreddit_page.controller.trigger('1')
assert subreddit_page.content.order == 'hot' assert subreddit_page.content.order == 'hot'
@@ -201,6 +200,8 @@ def test_subreddit_order(subreddit_page):
assert subreddit_page.content.order == 'rising' assert subreddit_page.content.order == 'rising'
subreddit_page.controller.trigger('4') subreddit_page.controller.trigger('4')
assert subreddit_page.content.order == 'new' assert subreddit_page.content.order == 'new'
subreddit_page.controller.trigger('6')
assert subreddit_page.content.order == 'gilded'
subreddit_page.content.query = 'search text' subreddit_page.content.query = 'search text'
subreddit_page.controller.trigger('1') subreddit_page.controller.trigger('1')
@@ -208,6 +209,11 @@ def test_subreddit_order(subreddit_page):
subreddit_page.controller.trigger('4') subreddit_page.controller.trigger('4')
assert subreddit_page.content.order == 'new' assert subreddit_page.content.order == 'new'
# Shouldn't be able to sort queries by gilded
subreddit_page.controller.trigger('6')
assert curses.flash.called
assert subreddit_page.content.order == 'new'
def test_subreddit_order_top(subreddit_page, terminal): def test_subreddit_order_top(subreddit_page, terminal):

View File

@@ -36,11 +36,7 @@ def test_subscription_page_construct(reddit, terminal, config, oauth,
assert name in [args[0][2] for args in window.addstr.call_args_list] assert name in [args[0][2] for args in window.addstr.call_args_list]
# Banner shouldn't be drawn # Banner shouldn't be drawn
menu = ('[1]hot ' menu = '[1]hot [2]top [3]rising [4]new [5]controversial'.encode('utf-8')
'[2]top '
'[3]rising ' # Whitespace is relevant
'[4]new '
'[5]controversial').encode('utf-8')
with pytest.raises(AssertionError): with pytest.raises(AssertionError):
window.addstr.assert_any_call(0, 0, menu) window.addstr.assert_any_call(0, 0, menu)