-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsave_changes.py
45 lines (32 loc) · 1.36 KB
/
save_changes.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
"""save_changes.py
Verifies that ljm_constants.json using validate.py, git commits all, and
pushes to origin.
"""
import os
import subprocess
import sys
import validate
def save_changes(commit_message):
cwd = os.chdir(os.path.dirname(os.path.abspath(__file__)))
subprocess.call([sys.executable,'ljmmm_test.py'], cwd=cwd)
constants_repo_dir = os.path.dirname(os.path.abspath(__file__))
json_file_path = os.path.join(constants_repo_dir, 'LabJack', 'LJM', 'ljm_constants.json')
validate.validate(json_file_path)
startup_configs_file_path = os.path.join(constants_repo_dir, 'LabJack', 'LJM', 'ljm_startup_configs.json')
validate.validate(startup_configs_file_path, raw_only=False)
subprocess.call([sys.executable,'generate_c_header.py'], cwd=cwd)
print('Saving to Git repository...')
# Move to the repo
os.chdir(constants_repo_dir)
subprocess.check_call('git pull', shell=True, cwd=cwd)
subprocess.call('git commit -a -m %s' % commit_message, shell=True, cwd=cwd)
subprocess.call('git push', shell=True, cwd=cwd)
print('Finished!')
if __name__ == '__main__':
if len(sys.argv) > 2:
print('Too many args. Commit message may be arg 0.')
sys.exit(1)
commit_message = "Incremental JSON update."
if len(sys.argv) == 2:
commit_message = sys.argv[1]
save_changes(commit_message)