Added -a for force_ascii, utf-8 by default

This commit is contained in:
Robert Greener
2015-03-08 21:28:36 +00:00
parent bc9e36f7af
commit d6620dbdbe
3 changed files with 38 additions and 11 deletions

7
__main__.py Normal file
View File

@@ -0,0 +1,7 @@
# Entry point for rtv module
# Run by moving into the top level directory (the one with setup.py)
# and typing "python -m rtv"
from rtv.main import main
main()

View File

@@ -8,19 +8,30 @@ import requests
from .errors import SubmissionURLError, SubredditNameError
is_utf8 = True
def clean(unicode_string):
"""
Convert unicode string into ascii-safe characters.
Checks if -a was given, if it was it
converts unicode string into ascii-safe characters.
"""
if not is_utf8:
if six.PY2:
ascii_string = unicode_string.encode('ascii', 'replace')
else:
ascii_string = unicode_string.encode().decode('ascii', 'replace')
if six.PY2:
ascii_string = unicode_string.encode('ascii', 'replace')
ascii_string = ascii_string.replace('\\', '')
return ascii_string
else:
ascii_string = unicode_string.encode().decode('ascii', 'replace')
if six.PY2:
utf8_string = unicode_string.encode('utf-8', 'replace')
else:
utf8_string = unicode_string.encode().decode('utf-8', 'replace')
ascii_string = ascii_string.replace('\\', '')
return ascii_string
utf8_string = utf8_string.replace('\\', '')
return utf8_string
def split_text(big_text, width):

View File

@@ -8,7 +8,10 @@ from .errors import SubmissionURLError, SubredditNameError
from .utils import curses_session, load_config, HELP
from .subreddit import SubredditPage
from .submission import SubmissionPage
import locale
import rtv.content
is_utf8 = True # if -a is set then this is set to false
DESCRIPTION = """
Reddit Terminal Viewer is a lightweight browser for www.reddit.com built into a
@@ -19,9 +22,9 @@ EPILOG = """
Controls
-----
RTV currently supports browsing both subreddits and individual submissions.
In each mode the controls are slightly different. In subreddit mode you can
browse through the top submissions on either the front page or a specific
subreddit. In submission mode you can view the self text for a submission and
In each mode the controls are slightly different. In subreddit mode you can
browse through the top submissions on either the front page or a specific
subreddit. In submission mode you can view the self text for a submission and
browse comments.
"""
@@ -34,9 +37,11 @@ def main():
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('-s', dest='subreddit', help='subreddit name')
parser.add_argument('-l', dest='link', help='full link to a submission')
parser.add_argument('-a', dest='force_ascii',
help='forces ascii (disables unicode)', action='store_true')
group = parser.add_argument_group(
'authentication (optional)',
'authentication (optional)',
'Authenticating allows you to view your customized front page. '
'If only the username is given, the password will be prompted '
'securely.')
@@ -54,6 +59,10 @@ def main():
if args.subreddit is None:
args.subreddit = 'front'
if args.force_ascii:
rtv.content.is_utf8 = False
locale.setlocale(locale.LC_ALL, '')
try:
reddit = praw.Reddit(user_agent='desktop:https://github.com/michael-lazar/rtv:(by /u/civilization_phaze_3)')
reddit.config.decode_html_entities = True
@@ -75,7 +84,7 @@ def main():
page.loop()
except InvalidUserPass:
print('Invalid password for username: {}'.format(args.username))
print('Invalid password for username: {}'.format(args.username))
except KeyboardInterrupt:
return