Added exception handling for voting if the user isnt logged in.
This commit is contained in:
44
rtv/page.py
44
rtv/page.py
@@ -1,6 +1,8 @@
|
||||
import curses
|
||||
|
||||
from .utils import Color, Symbol
|
||||
import praw
|
||||
|
||||
from .utils import Color, Symbol, display_message
|
||||
|
||||
class Navigator(object):
|
||||
"""
|
||||
@@ -132,28 +134,32 @@ class BasePage(object):
|
||||
def upvote(self):
|
||||
|
||||
data = self.content.get(self.nav.absolute_index)
|
||||
if 'likes' not in data:
|
||||
curses.flash()
|
||||
|
||||
elif data['likes']:
|
||||
data['object'].clear_vote()
|
||||
data['likes'] = None
|
||||
else:
|
||||
data['object'].upvote()
|
||||
data['likes'] = True
|
||||
try:
|
||||
if 'likes' not in data:
|
||||
pass
|
||||
elif data['likes']:
|
||||
data['object'].clear_vote()
|
||||
data['likes'] = None
|
||||
else:
|
||||
data['object'].upvote()
|
||||
data['likes'] = True
|
||||
except praw.errors.LoginOrScopeRequired:
|
||||
display_message(self.stdscr, ['Login to vote'])
|
||||
|
||||
def downvote(self):
|
||||
|
||||
data = self.content.get(self.nav.absolute_index)
|
||||
if 'likes' not in data:
|
||||
curses.flash()
|
||||
|
||||
if data['likes'] is False:
|
||||
data['object'].clear_vote()
|
||||
data['likes'] = None
|
||||
else:
|
||||
data['object'].downvote()
|
||||
data['likes'] = False
|
||||
try:
|
||||
if 'likes' not in data:
|
||||
pass
|
||||
if data['likes'] is False:
|
||||
data['object'].clear_vote()
|
||||
data['likes'] = None
|
||||
else:
|
||||
data['object'].downvote()
|
||||
data['likes'] = False
|
||||
except praw.errors.LoginOrScopeRequired:
|
||||
display_message(self.stdscr, ['Login to vote'])
|
||||
|
||||
def draw(self):
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ from .errors import EscapePressed
|
||||
HELP = """
|
||||
Global Commands
|
||||
`UP/DOWN` or `j/k` : Scroll to the prev/next item
|
||||
`r` or `F5` : Refresh the current page
|
||||
`a/z` : Upvote/downvote the selected item
|
||||
`r` : Refresh the current page
|
||||
`q` : Quit the program
|
||||
`o` : Open the selected item in the default web browser
|
||||
`?` : Show this help message
|
||||
@@ -315,4 +316,4 @@ def curses_session():
|
||||
stdscr.keypad(0)
|
||||
curses.echo()
|
||||
curses.nocbreak()
|
||||
curses.endwin()
|
||||
curses.endwin()
|
||||
|
||||
Reference in New Issue
Block a user