Almost functional.
This commit is contained in:
38
rtv/page.py
38
rtv/page.py
@@ -9,7 +9,7 @@ from functools import wraps
|
||||
from kitchen.text.display import textual_width
|
||||
|
||||
from . import docs
|
||||
from .objects import Controller, Color
|
||||
from .objects import Controller, Color, KeyMap
|
||||
|
||||
|
||||
def logged_in(f):
|
||||
@@ -68,60 +68,60 @@ class Page(object):
|
||||
ch = self.term.stdscr.getch()
|
||||
self.controller.trigger(ch)
|
||||
|
||||
@PageController.register('q')
|
||||
@PageController.register(KeyMap.EXIT)
|
||||
def exit(self):
|
||||
if self.term.prompt_y_or_n('Do you really want to quit? (y/n): '):
|
||||
sys.exit()
|
||||
|
||||
@PageController.register('Q')
|
||||
@PageController.register(KeyMap.FORCE_EXIT)
|
||||
def force_exit(self):
|
||||
sys.exit()
|
||||
|
||||
@PageController.register('?')
|
||||
@PageController.register(KeyMap.HELP)
|
||||
def show_help(self):
|
||||
self.term.show_notification(docs.HELP.strip().splitlines())
|
||||
|
||||
@PageController.register('1')
|
||||
@PageController.register(KeyMap.SORT_HOT)
|
||||
def sort_content_hot(self):
|
||||
self.refresh_content(order='hot')
|
||||
|
||||
@PageController.register('2')
|
||||
@PageController.register(KeyMap.SORT_TOP)
|
||||
def sort_content_top(self):
|
||||
self.refresh_content(order='top')
|
||||
|
||||
@PageController.register('3')
|
||||
@PageController.register(KeyMap.SORT_RISING)
|
||||
def sort_content_rising(self):
|
||||
self.refresh_content(order='rising')
|
||||
|
||||
@PageController.register('4')
|
||||
@PageController.register(KeyMap.SORT_NEW)
|
||||
def sort_content_new(self):
|
||||
self.refresh_content(order='new')
|
||||
|
||||
@PageController.register('5')
|
||||
@PageController.register(KeyMap.SORT_CONTROVERSIAL)
|
||||
def sort_content_controversial(self):
|
||||
self.refresh_content(order='controversial')
|
||||
|
||||
@PageController.register(curses.KEY_UP, 'k')
|
||||
@PageController.register(KeyMap.MOVE_UP)
|
||||
def move_cursor_up(self):
|
||||
self._move_cursor(-1)
|
||||
self.clear_input_queue()
|
||||
|
||||
@PageController.register(curses.KEY_DOWN, 'j')
|
||||
@PageController.register(KeyMap.MOVE_DOWN)
|
||||
def move_cursor_down(self):
|
||||
self._move_cursor(1)
|
||||
self.clear_input_queue()
|
||||
|
||||
@PageController.register('m', curses.KEY_PPAGE)
|
||||
@PageController.register(KeyMap.PAGE_UP)
|
||||
def move_page_up(self):
|
||||
self._move_page(-1)
|
||||
self.clear_input_queue()
|
||||
|
||||
@PageController.register('n', curses.KEY_NPAGE)
|
||||
@PageController.register(KeyMap.PAGE_DOWN)
|
||||
def move_page_down(self):
|
||||
self._move_page(1)
|
||||
self.clear_input_queue()
|
||||
|
||||
@PageController.register('a')
|
||||
@PageController.register(KeyMap.UPVOTE)
|
||||
@logged_in
|
||||
def upvote(self):
|
||||
data = self.content.get(self.nav.absolute_index)
|
||||
@@ -138,7 +138,7 @@ class Page(object):
|
||||
if not self.term.loader.exception:
|
||||
data['likes'] = True
|
||||
|
||||
@PageController.register('z')
|
||||
@PageController.register(KeyMap.DOWNVOTE)
|
||||
@logged_in
|
||||
def downvote(self):
|
||||
data = self.content.get(self.nav.absolute_index)
|
||||
@@ -155,7 +155,7 @@ class Page(object):
|
||||
if not self.term.loader.exception:
|
||||
data['likes'] = None
|
||||
|
||||
@PageController.register('u')
|
||||
@PageController.register(KeyMap.LOGIN)
|
||||
def login(self):
|
||||
"""
|
||||
Prompt to log into the user's account, or log out of the current
|
||||
@@ -169,7 +169,7 @@ class Page(object):
|
||||
else:
|
||||
self.oauth.authorize()
|
||||
|
||||
@PageController.register('d')
|
||||
@PageController.register(KeyMap.DELETE)
|
||||
@logged_in
|
||||
def delete_item(self):
|
||||
"""
|
||||
@@ -193,7 +193,7 @@ class Page(object):
|
||||
if self.term.loader.exception is None:
|
||||
self.refresh_content()
|
||||
|
||||
@PageController.register('e')
|
||||
@PageController.register(KeyMap.EDIT)
|
||||
@logged_in
|
||||
def edit(self):
|
||||
"""
|
||||
@@ -228,7 +228,7 @@ class Page(object):
|
||||
if self.term.loader.exception is None:
|
||||
self.refresh_content()
|
||||
|
||||
@PageController.register('i')
|
||||
@PageController.register(KeyMap.INBOX)
|
||||
@logged_in
|
||||
def get_inbox(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user