diff options
Diffstat (limited to 'ranger.py')
-rwxr-xr-x | ranger.py | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/ranger.py b/ranger.py index 53fd8bdb..44fc298f 100755 --- a/ranger.py +++ b/ranger.py @@ -1,7 +1,5 @@ #!/usr/bin/python -O # -*- coding: utf-8 -*- -# -# Ranger: Explore your forest of files from inside your terminal # Copyright (C) 2009, 2010 Roman Zimbelmann <romanz@lavabit.com> # # This program is free software: you can redistribute it and/or modify @@ -21,11 +19,14 @@ # after you exit ranger. Run it with the command: source ranger ranger """": if [ ! -z "$1" ]; then - $@ --fail-unless-cd && - if [ -z "$XDG_CONFIG_HOME" ]; then - cd "$(grep \^\' ~/.config/ranger/bookmarks | cut -b3-)" - else - cd "$(grep \^\' "$XDG_CONFIG_HOME"/ranger/bookmarks | cut -b3-)" + tempfile='/tmp/chosendir' + ranger="$1" + shift + "$ranger" --choosedir="$tempfile" "${@:-$(pwd)}" + test -f "$tempfile" && + if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then + cd "$(cat "$tempfile")" + rm -f -- "$tempfile" fi && return 0 else echo "usage: source path/to/ranger.py path/to/ranger.py" @@ -34,25 +35,19 @@ return 1 """ import sys -import os.path +from os.path import exists, abspath # Need to find out whether or not the flag --clean was used ASAP, # because --clean is supposed to disable bytecode compilation -try: - argv = sys.argv[0:sys.argv.index('--')] -except: - argv = sys.argv +argv = sys.argv[1:sys.argv.index('--')] if '--' in sys.argv else sys.argv[1:] sys.dont_write_bytecode = '-c' in argv or '--clean' in argv # Set the actual docstring __doc__ = """Ranger - file browser for the unix terminal""" -# Don't import ./ranger when running an installed binary at /usr/bin/ranger -if os.path.exists('ranger') and '/' in os.path.normpath(__file__): - try: - sys.path.remove(os.path.abspath('.')) - except: - pass +# Don't import ./ranger when running an installed binary at /usr/.../ranger +if __file__[:4] == '/usr' and exists('ranger') and abspath('.') in sys.path: + sys.path.remove(abspath('.')) # Start ranger import ranger |