Merge branch 'master' into themes
This commit is contained in:
@@ -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__)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user