-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdate_version.py
More file actions
53 lines (45 loc) · 1.57 KB
/
update_version.py
File metadata and controls
53 lines (45 loc) · 1.57 KB
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
import subprocess,shlex
default_version = 'v0.0'
default_short_version = 'v0.0'
def get_python_version():
print '==> Attempting to get version from module...',
try:
from typySim import Version
except ImportError:
print 'Failed!'
version = default_version
short_version = default_short_version
print '==> Defaulting to version {}'.format(version)
else:
print 'Success!'
version = Version.version
short_version = Version.short_version
print '==> Got version {} from Version.py'.format(version)
return version,short_version
def get_git_version():
print '==> Attempting to get git version...',
try:
version = subprocess.check_output(shlex.split('git describe')).strip()
except subprocess.CalledProcessError:
print 'Failed!'
version = default_version
short_version = default_short_version
print '==> Defaulting to version {}'.format(version)
return
else:
print 'Success!'
short_version = version.split('-')[0]
print '==> Got version {} from git repo.'.format(version)
return version,short_version
def write(version,short_version,file='typySim/Version.py'):
with open(file,'w') as f:
f.write('version = \'{}\'\n'.format(version))
f.write('short_version = \'{}\'\n'.format(short_version))
print '==> Updated version to {} in file: {}'.format(version,file)
if __name__ == '__main__':
old_version,old_short = get_python_version()
new_version,new_short = get_git_version()
if new_version and new_version!=old_version:
write(new_version,new_short)
else:
print '==> Not modifying file!'