diff options
-rw-r--r-- | ranger/__init__.py | 83 | ||||
-rw-r--r-- | ranger/__main__.py | 79 |
2 files changed, 84 insertions, 78 deletions
diff --git a/ranger/__init__.py b/ranger/__init__.py index 5eaaee4f..264aa931 100644 --- a/ranger/__init__.py +++ b/ranger/__init__.py @@ -1,4 +1,6 @@ """Ranger - file browser for the unix terminal""" +import os +import sys __copyright__ = 'none' __license__ = 'GPL' @@ -8,12 +10,6 @@ __author__ = 'hut' __maintainer__ = 'hut' __email__ = 'hut@lavabit.com' -import os -import sys - -# for easier access -from ranger.ext.debug import log, trace - CONFDIR = os.path.expanduser('~/.ranger') RANGERDIR = os.path.dirname(__file__) @@ -21,76 +17,7 @@ sys.path.append(CONFDIR) USAGE = '''%s [options] [path/filename]''' -def main(): - """initialize objects and run the filemanager""" - try: - import curses - except ImportError as errormessage: - print(errormessage) - print('ranger requires the python curses module. Aborting.') - sys.exit(1) - - from locale import setlocale, LC_ALL - from optparse import OptionParser, SUPPRESS_HELP - - from ranger.fm import FM - from ranger.container.environment import Environment - from ranger.shared.settings import SettingsAware - from ranger.gui.defaultui import DefaultUI as UI - from ranger.fsobject.file import File - - setlocale(LC_ALL, 'en_US.utf8') - os.stat_float_times(True) - - # Parse options - parser = OptionParser( usage = USAGE, - version = 'ranger ' + __version__ ) - - # Instead of using this directly, use the embedded - # shell script by running ranger with: - # source /path/to/ranger /path/to/ranger - parser.add_option( '--cd-after-exit', - action = 'store_true', - dest = 'cd_after_exit', - help = SUPPRESS_HELP ) - - args, rest = parser.parse_args() - - log(sys.argv) - if args.cd_after_exit: - sys.stderr = sys.__stdout__ - - # Initialize objects - target = ' '.join(rest) - if target: - if not os.access(target, os.F_OK): - print("File or directory doesn't exist: %s" % target) - sys.exit(1) - elif os.path.isfile(target): - thefile = File(target) - FM().execute_file(thefile) - sys.exit(0) - else: - path = target - else: - path = '.' - - SettingsAware._setup() - Environment(path) - - try: - my_ui = UI() - my_fm = FM(ui=my_ui) - my_fm.stderr_to_out = args.cd_after_exit +# for easier access +from ranger.ext.debug import log, trace - # Run the file manager - my_fm.initialize() - my_ui.initialize() - my_fm.loop() - finally: - # Finish, clean up - if 'my_ui' in vars(): - my_ui.destroy() - if args.cd_after_exit: - try: sys.__stderr__.write(my_fm.env.pwd.path) - except: pass +from ranger.__main__ import main diff --git a/ranger/__main__.py b/ranger/__main__.py new file mode 100644 index 00000000..200d856b --- /dev/null +++ b/ranger/__main__.py @@ -0,0 +1,79 @@ +import os +import sys + +def main(): + """initialize objects and run the filemanager""" + try: + import curses + except ImportError as errormessage: + print(errormessage) + print('ranger requires the python curses module. Aborting.') + sys.exit(1) + + from locale import setlocale, LC_ALL + from optparse import OptionParser, SUPPRESS_HELP + + from ranger import __version__, USAGE + from ranger.fm import FM + from ranger.container.environment import Environment + from ranger.shared.settings import SettingsAware + from ranger.gui.defaultui import DefaultUI as UI + from ranger.fsobject.file import File + + setlocale(LC_ALL, 'en_US.utf8') + os.stat_float_times(True) + + # Parse options + parser = OptionParser( usage = USAGE, + version = 'ranger ' + __version__ ) + + # Instead of using this directly, use the embedded + # shell script by running ranger with: + # source /path/to/ranger /path/to/ranger + parser.add_option( '--cd-after-exit', + action = 'store_true', + dest = 'cd_after_exit', + help = SUPPRESS_HELP ) + + args, rest = parser.parse_args() + + if args.cd_after_exit: + sys.stderr = sys.__stdout__ + + # Initialize objects + target = ' '.join(rest) + if target: + if not os.access(target, os.F_OK): + print("File or directory doesn't exist: %s" % target) + sys.exit(1) + elif os.path.isfile(target): + thefile = File(target) + FM().execute_file(thefile) + sys.exit(0) + else: + path = target + else: + path = '.' + + SettingsAware._setup() + Environment(path) + + try: + my_ui = UI() + my_fm = FM(ui=my_ui) + my_fm.stderr_to_out = args.cd_after_exit + + # Run the file manager + my_fm.initialize() + my_ui.initialize() + my_fm.loop() + finally: + # Finish, clean up + if 'my_ui' in vars(): + my_ui.destroy() + if args.cd_after_exit: + try: sys.__stderr__.write(my_fm.env.pwd.path) + except: pass + +if __name__ == '__main__': + main() |