Almost functional.

This commit is contained in:
Michael Lazar
2016-02-09 02:56:55 -08:00
parent 2f093e47a8
commit 181507d9bb
8 changed files with 121 additions and 75 deletions

View File

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