-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstalar.py
executable file
·73 lines (67 loc) · 2.22 KB
/
instalar.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#! /usr/bin/python
#-.- encoding: utf-8 -.-
from os import rename, path, symlink, listdir
from subprocess import call
import sys
import getpass
try:
import pexpect
except ImportError:
sys.stderr.write("Requirements not satisfied, please install with:")
sys.stderr.write("pip install pexpect")
sys.exit()
# Compatibilidad para python2 y python3 en inputs:
try:
input = raw_input
print("¡Pásate a python 3 de una **** vez!")
except NameError:
# Estamos en python 3, todo bien.
pass
home = path.expanduser("~")
# TODO: dar opción de hacer los backups o no, o bien avisar de que se hace y
# hacerlo siempre para no dar por saco.
try:
rename(home + "/.vimrc", home + "/.vimrcOld")
except OSError:
print("No .vimrc found")
try:
rename(home + "/.vim", home + "/.vimOld")
except OSError:
print("No .vim folder found")
if not path.islink(home + '/.vimrc'):
symlink(home + "/vim/.vim/.vimrc", home + "/.vimrc")
if not path.islink(home + '/.vim'):
symlink(home + "/vim/.vim", home + "/.vim")
if not path.isdir(home + "/vim/.vim/bundle/Vundle.vim") or not listdir(
home + "/vim/.vim/bundle/Vundle.vim"):
call([
"git",
"clone",
"https://github.com/VundleVim/Vundle.vim.git",
home + "/vim/.vim/bundle/Vundle.vim"]
)
else:
print("Vundle ya instalado")
if not path.isdir(home + "/vim/.vim/bundle/YouCompleteMe"):
# Install python dependencies for YouCompleteMe
py_deps = ['build-essential', 'cmake', 'python3-dev']
child = pexpect.spawn(
'brew install ' + ' '.join(py_deps) + ' -y',
timeout=None,
)
# child.logfile = sys.stdout
child.expect(pexpect.EOF)
XXX = getpass.getpass('Input your sudo password:')
child.sendline(XXX)
child.expect(pexpect.EOF, timeout=None)
call(['vim', '-c', 'PluginInstall'] + ['-c', 'q'] * 2)
# TODO: La siguiente línea peta en Debian 8 porque no encuentra
# las bibliotecas de BOOST
call([
home + '/.vim/bundle/YouCompleteMe/install.py',
'--clang-completer',
])
# TODO: pedir input para ver si se instala soporte para otros lenguajes:
# Go, C#, TypeScript, JavaScript, Rust
else:
print("YouCompleteMe ya instalado, saliendo...")