Merge branch 'master' into themes

This commit is contained in:
Michael Lazar
2017-09-07 22:31:43 -04:00
65 changed files with 20824 additions and 2168 deletions

View File

@@ -23,6 +23,14 @@ except ImportError:
sys.exit('Fatal Error: Your python distribution appears to be missing '
'_curses.so.\nWas it compiled without support for curses?')
# If we want to override the $BROWSER variable that the python webbrowser
# references, it needs to be done before the webbrowser module is imported
# for the first time.
webbrowser_import_warning = ('webbrowser' in sys.modules)
RTV_BROWSER, BROWSER = os.environ.get('RTV_BROWSER'), os.environ.get('BROWSER')
if RTV_BROWSER:
os.environ['BROWSER'] = RTV_BROWSER
from . import docs
from . import packages
from .packages import praw
@@ -30,7 +38,7 @@ from .config import Config, copy_default_config, copy_default_mailcap
from .theme import Theme
from .oauth import OAuthHelper
from .terminal import Terminal
from .objects import curses_session
from .objects import curses_session, patch_webbrowser
from .subreddit_page import SubredditPage
from .exceptions import ConfigError
from .__version__ import __version__
@@ -108,13 +116,18 @@ def main():
filename=config['log'],
format='%(asctime)s:%(levelname)s:%(filename)s:%(lineno)d:%(message)s')
_logger.info('Starting new session, RTV v%s', __version__)
_logger.info('%s, %s', sys.executable, sys.version)
env = [
('$DISPLAY', os.getenv('DISPLAY')),
('$TERM', os.getenv('TERM')),
('$XDG_CONFIG_HOME', os.getenv('XDG_CONFIG_HOME')),
('$BROWSER', os.getenv('BROWSER')),
('$PAGER', os.getenv('PAGER')),
('$RTV_EDITOR', os.getenv('RTV_EDITOR')),
('$RTV_URLVIEWER', os.getenv('RTV_URLVIEWER'))]
('$RTV_URLVIEWER', os.getenv('RTV_URLVIEWER')),
('$RTV_BROWSER', RTV_BROWSER),
('$BROWSER', BROWSER),
('$PAGER', os.getenv('PAGER')),
('$VISUAL', os.getenv('VISUAL')),
('$EDITOR', os.getenv('EDITOR'))]
_logger.info('Environment: %s', env)
else:
# Add an empty handler so the logger doesn't complain
@@ -139,6 +152,8 @@ def main():
warnings.warn(text)
config['ascii'] = True
_logger.info('RTV module path: %s', os.path.abspath(__file__))
# Check the praw version
if packages.__praw_bundled__:
_logger.info('Using packaged PRAW distribution, '
@@ -147,6 +162,12 @@ def main():
_logger.info('Packaged PRAW not found, falling back to system '
'installed version %s', praw.__version__)
# Update the webbrowser module's default behavior
patch_webbrowser()
if webbrowser_import_warning:
_logger.warning('webbrowser module was unexpectedly imported before'
'$BROWSER could be overwritten')
# Construct the reddit user agent
user_agent = docs.AGENT.format(version=__version__)