Merge branch 'master' of https://github.com/michael-lazar/rtv
This commit is contained in:
46
README.rst
46
README.rst
@@ -1,27 +1,28 @@
|
||||
.. image:: https://pypip.in/version/rtv/badge.svg?text=version&style=flat
|
||||
:target: https://pypi.python.org/pypi/rtv/
|
||||
:alt: Latest Version
|
||||
|
||||
======================
|
||||
Reddit Terminal Viewer
|
||||
======================
|
||||
|
||||
.. image:: https://pypip.in/version/rtv/badge.svg?text=version
|
||||
:target: https://pypi.python.org/pypi/rtv/
|
||||
:alt: Latest Version
|
||||
Browse Reddit from your terminal
|
||||
|
||||
**Reddit Terminal Viewer (RTV)** is a lightweight browser for Reddit (www.reddit.com) built into a terminal window.
|
||||
RTV is built in Python and utilizes the **curses** library.
|
||||
It is compatible with a large range of terminal emulators on Linux and OSX systems.
|
||||
RTV is built in python using the curses library, and is compatable with *most* terminal emulators on Linux and OS X.
|
||||
|
||||
.. image:: http://i.imgur.com/4a3Yrov.gif
|
||||
|
||||
------------
|
||||
Installation
|
||||
------------
|
||||
The recommended installation method is pip.
|
||||
|
||||
Install using pip
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo pip install --pre rtv
|
||||
|
||||
Alternatively, clone the repo and install with python.
|
||||
Or clone the repository
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -29,7 +30,7 @@ Alternatively, clone the repo and install with python.
|
||||
$ cd rtv
|
||||
$ sudo python setup.py install
|
||||
|
||||
As part of the installation, an executable script will be placed in your system path.
|
||||
The installation will place a script in the system path
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -44,35 +45,42 @@ RTV currently supports browsing both subreddits and individual submissions. In e
|
||||
|
||||
**Global Commands**
|
||||
|
||||
:``Arrow Keys`` or ``hjkl``: RTV supports both the arrow keys and vim bindings for navigation. Move up and down to scroll through items on the page.
|
||||
:``r`` or ``F5``: Refresh the current page.
|
||||
:``q``: Quit the program.
|
||||
:``o``: Open the url of the selected item in the default web browser.
|
||||
:``▲``/``▼`` or ``j``/``k``: Scroll to the prev/next item
|
||||
:``o``: Open the selected item in the default web browser
|
||||
:``r`` or ``F5``: Refresh the current page
|
||||
:``q``: Quit
|
||||
|
||||
**Subreddit Mode**
|
||||
|
||||
In subreddit mode you can browse through the top submissions on either the front page or a specific subreddit.
|
||||
|
||||
:``Right`` or ``Enter``: Open the currently selected submission in a new page.
|
||||
:``/``: Open a prompt to switch to a different subreddit. For example, pressing ``/`` and typing *python* will open */r/python*. You can return to Reddit's front page by using the alias */r/front*.
|
||||
:``►`` or ``l``: View comments for the selected submission
|
||||
:``/``: Open a prompt to switch subreddits
|
||||
|
||||
The ``/`` prompt accepts subreddits in the following formats
|
||||
|
||||
* ``/r/python``
|
||||
* ``/r/python/new``
|
||||
* ``/r/front`` will redirect to the front page
|
||||
|
||||
**Submission Mode**
|
||||
|
||||
In submission mode you can view the self text for a submission and browse comments.
|
||||
|
||||
:``Right`` or ``Enter``: Toggle the currently selected comment between hidden and visible. Alternatively, load additional comments identified by *[+] more comments*.
|
||||
:``Left``: Exit the submission page and return to the subreddit.
|
||||
:``◄`` or ``h``: Return to subreddit mode
|
||||
:``►`` or ``l``: Fold the selected comment, or load additional comments
|
||||
|
||||
-------------
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
RTV will read a configuration dotfile located at **~/.rtv**.
|
||||
RTV will read a configuration file located at **~/.rtv**.
|
||||
This can be used to avoid having to re-enter login credentials every time the program is launched.
|
||||
Each line in the file will replace the corresponding default argument in the launch script.
|
||||
|
||||
Example config file (**~/.rtv**):
|
||||
Example config:
|
||||
|
||||
**~/.rtv**
|
||||
::
|
||||
|
||||
[rtv]
|
||||
|
||||
@@ -2,6 +2,7 @@ import argparse
|
||||
from getpass import getpass
|
||||
import praw
|
||||
from requests.exceptions import ConnectionError, HTTPError
|
||||
from praw.errors import InvalidUserPass
|
||||
|
||||
from rtv.errors import SubmissionURLError, SubredditNameError
|
||||
from rtv.utils import curses_session, load_config, HELP
|
||||
@@ -74,6 +75,9 @@ def main():
|
||||
page = SubredditPage(stdscr, reddit, args.subreddit)
|
||||
page.loop()
|
||||
|
||||
except InvalidUserPass:
|
||||
print('Invalid password for username: {}'.format(args.username))
|
||||
|
||||
except KeyboardInterrupt:
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user