rename python files to prevent system wide installation collisions

pull/252/head
William Ting 11 years ago
parent 23779d65a7
commit a59d671fb0

@ -39,24 +39,24 @@ else:
from itertools import ifilter from itertools import ifilter
from itertools import imap from itertools import imap
from data import dictify from autojump_data import dictify
from data import entriefy from autojump_data import entriefy
from data import Entry from autojump_data import Entry
from data import load from autojump_data import load
from data import save from autojump_data import save
from utils import decode from autojump_utils import decode
from utils import encode_local from autojump_utils import encode_local
from utils import first from autojump_utils import first
from utils import get_tab_needle_and_path from autojump_utils import get_tab_needle_and_path
from utils import get_pwd from autojump_utils import get_pwd
from utils import has_uppercase from autojump_utils import has_uppercase
from utils import is_osx from autojump_utils import is_osx
from utils import last from autojump_utils import last
from utils import print_entry from autojump_utils import print_entry
from utils import print_tab_menu from autojump_utils import print_tab_menu
from utils import sanitize from autojump_utils import sanitize
from utils import surround_quotes from autojump_utils import surround_quotes
from utils import take from autojump_utils import take
VERSION = '21.8-alpha' VERSION = '21.8-alpha'
FUZZY_MATCH_THRESHOLD = 0.6 FUZZY_MATCH_THRESHOLD = 0.6

@ -16,10 +16,10 @@ else:
from itertools import ifilter from itertools import ifilter
from itertools import imap from itertools import imap
from utils import create_dir from autojump_utils import create_dir
from utils import is_osx from autojump_utils import is_osx
from utils import is_python3 from autojump_utils import is_python3
from utils import move_file from autojump_utils import move_file
BACKUP_THRESHOLD = 24 * 60 * 60 BACKUP_THRESHOLD = 24 * 60 * 60

@ -0,0 +1,92 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from __future__ import print_function
from argparse import ArgumentParser
import os
import shutil
import sys
def parse_arguments():
parser = ArgumentParser(
description='Installs autojump globally for root users, otherwise \
installs in current user\'s home directory.')
parser.add_argument(
'-n', '--dryrun', action="store_true", default=False,
help='simulate installation')
parser.add_argument(
'-d', '--destdir', metavar='DIR',
help='set destination to DIR')
parser.add_argument(
'-p', '--prefix', metavar='DIR',
help='set prefix to DIR')
parser.add_argument(
'-z', '--zshshare', metavar='DIR',
help='set zsh share destination to DIR')
return parser.parse_args()
def remove_system_installation(dryrun=False):
default_destdir = '/'
default_prefix = '/usr/local'
default_zshshare = '/usr/share/zsh/site-functions'
bin_dir = os.path.join(default_destdir, default_prefix, 'bin')
etc_dir = os.path.join(default_destdir, 'etc/profile.d')
doc_dir = os.path.join(default_destdir, default_prefix, 'share/man/man1')
icon_dir = os.path.join(default_destdir, default_prefix, 'share/autojump')
zshshare_dir = os.path.join(default_destdir, default_zshshare)
if os.path.exists(os.path.join(bin_dir, 'autojump')):
print("Found system installation.")
else:
return
rm(os.path.join(bin_dir, 'autojump'), dryrun)
rm(os.path.join(bin_dir, 'data.py'), dryrun)
rm(os.path.join(bin_dir, 'utils.py'), dryrun)
rm(os.path.join(etc_dir, 'autojump.sh'), dryrun)
rm(os.path.join(etc_dir, 'autojump.bash'), dryrun)
rm(os.path.join(etc_dir, 'autojump.fish'), dryrun)
rm(os.path.join(etc_dir, 'autojump.zsh'), dryrun)
rm(os.path.join(zshshare_dir, '_j'), dryrun)
rmdir(icon_dir, dryrun)
rm(os.path.join(doc_dir, 'autojump.1'), dryrun)
def remove_user_installation(dryrun=False):
default_destdir = os.path.join(os.path.expanduser("~"), '.autojump')
if os.path.exists(default_destdir):
print("Found user installation.")
rmdir(default_destdir, dryrun)
def rm(path, dryrun):
if os.path.exists(path):
print("deleting file:", path)
if not dryrun:
shutil.rmtree(path)
def rmdir(path, dryrun):
if os.path.exists(path):
print("deleting directory:", path)
if not dryrun:
shutil.rmtree(path)
def main(args):
if args.dryrun:
print("Uninstalling autojump (DRYRUN)...")
else:
print("Uninstalling autojump...")
remove_user_installation(args.dryrun)
remove_system_installation(args.dryrun)
if __name__ == "__main__":
sys.exit(main(parse_arguments()))

@ -1,94 +0,0 @@
#!/usr/bin/env bash
function help_msg {
echo "sudo ./uninstall.sh [--prefix /usr/local]"
}
function remove_msg {
echo
echo "Please remove the line from .${2}rc :"
echo
if [ "${1}" == "global" ]; then
echo -e "\t[[ -s /etc/profile.d/autojump.${2} ]] && source /etc/profile.d/autojump.${2}"
elif [ "${1}" == "local" ]; then
echo -e "\t[[ -s ~/.autojump/etc/profile.d/autojump.${2} ]] && source ~/.autojump/etc/profile.d/autojump.${2}"
fi
echo
}
# Default install directory.
prefix=/usr
user=${SUDO_USER:-${USER}}
OS=`uname`
if [ $OS == 'Darwin' ]; then
user_home=$(dscl . -search /Users UniqueID ${user} | cut -d: -f6)
else
user_home=$(getent passwd ${user} | cut -d: -f6)
fi
bashrc_file=${user_home}/.bashrc
# Command line parsing
while true; do
case "$1" in
-h|--help|-\?) help_msg; exit 0;;
-p|--prefix)
if [ $# -gt 1 ]; then
prefix=$2; shift 2
else
echo "--prefix or -p require an argument" 1>&2
exit 1
fi
;;
--) shift; break;;
-*) echo "invalid option: $1" 1>&2; help_msg; exit 1;;
*) break;;
esac
done
# UNINSTALL AUTOJUMP
# global / custom location installations
if [ -d "${prefix}/share/autojump/" ]; then
echo
echo "Uninstalling from ${prefix} ..."
echo
sudo rm -rv ${prefix}/share/autojump/
sudo rm -v ${prefix}/bin/autojump
sudo rm -v ${prefix}/share/man/man1/autojump.1
sudo rm -v /etc/profile.d/autojump.sh
if [ -f /etc/profile.d/autojump.bash ]; then
sudo rm -v /etc/profile.d/autojump.bash
remove_msg "global" "bash"
fi
if [ -f /etc/profile.d/autojump.zsh ]; then
sudo rm -v /etc/profile.d/autojump.zsh
fpath=`/usr/bin/env zsh -c 'echo $fpath'`
for f in ${fpath}; do
if [[ -f ${f}/_j ]]; then
sudo rm -v ${f}/_j
fi
done
remove_msg "global" "zsh"
fi
fi
# local installations
if [ -d ~/.autojump/ ]; then
echo
echo "Uninstalling from ~/.autojump/ ..."
echo
if [ -f ~/.autojump/etc/profile.d/autojump.bash ]; then
rm -rv ~/.autojump/
remove_msg "local" "bash"
fi
if [ -f ~/.autojump/etc/profile.d/autojump.zsh ]; then
rm -rv ~/.autojump/
remove_msg "local" "zsh"
fi
fi
Loading…
Cancel
Save