-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathami_atlas_post_install
112 lines (73 loc) · 2.84 KB
/
ami_atlas_post_install
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import (division, print_function, unicode_literals)
#############################################################################
# Author : Jerome ODIER, Jerome FULACHIER, Fabian LAMBERT, Solveig ALBRAND
#
# Email : [email protected]
#
#############################################################################
import os, sys, shutil, pyAMI, pyAMI_atlas
#############################################################################
def whereis(program):
PATH = os.environ.get('PATH')
for path in PATH.split(os.pathsep):
result = os.path.join(path, program)
if os.path.exists(result) and not os.path.isdir(result):
return result
return None
#############################################################################
if __name__ == '__main__':
#####################################################################
setup_py = os.path.dirname(__file__) + os.path.sep + 'setup.py'
if os.path.exists(setup_py):
print('error: could not execute the post-install script in the source directory')
sys.exit(1)
#####################################################################
print('Finalising installation...')
#####################################################################
pyAMI_core_dir = os.path.dirname(pyAMI.__file__)
pyAMI_atlas_dir = os.path.dirname(pyAMI_atlas.__file__)
pyAMI_dot_atlas_dir = pyAMI_core_dir + os.path.sep + 'atlas'
try:
if os.name == 'nt':
if os.path.isdir(pyAMI_dot_atlas_dir):
shutil.rmtree(pyAMI_dot_atlas_dir)
shutil.copytree(pyAMI_atlas_dir, pyAMI_dot_atlas_dir)
else:
if os.path.islink(pyAMI_dot_atlas_dir):
os.remove(pyAMI_dot_atlas_dir)
os.symlink(pyAMI_atlas_dir, pyAMI_dot_atlas_dir)
except OSError as e:
print(e)
sys.exit(1)
#####################################################################
ami_path = whereis('ami' )
ami_atlas_path = whereis('ami_atlas')
if not ami_path \
or \
not ami_atlas_path:
print('error: could not find `ami` and/or `ami_atlas`, set your `PATH` variable before running the post-install script')
sys.exit(1)
#####################################################################
prompt = 'Redirect `ami` to `ami_atlas` (yN)? '
if sys.version_info[0] == 3:
q = input(prompt)
else:
q = raw_input(prompt)
if q.upper() == 'Y':
try:
os.remove(ami_path)
if os.name == 'nt':
shutil.copyfile(ami_atlas_path, ami_path)
else:
os.symlink(ami_atlas_path, ami_path)
except OSError as e:
print(e)
sys.exit(1)
#####################################################################
sys.exit(0)
#############################################################################