forked from mworion/MountWizzard4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tasks.py
134 lines (104 loc) · 3.67 KB
/
tasks.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
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
############################################################
# -*- coding: utf-8 -*-
#
# # # # # # #
# ## ## # ## # #
# # # # # # # # # # #
# # ## # ## ## ######
# # # # # # #
#
# Python-based Tool for interaction with the 10micron mounts
# GUI with PyQT5 for python
#
# Michael Würtenberger
# (c) 2019
#
# Licence APL2.0
#
###########################################################
from invoke import task, context, Collection
def runMW(c, param):
# c.run(param, echo=False, hide='out')
c.run(param)
def printMW(param):
print('\n\033[95m\033[1m' + param + '\033[0m')
@task
def build_resource(c):
printMW('building resources')
# runMW(c, 'cp ./data/deltat.data ./mw4/resource/deltat.data')
# runMW(c, 'cp ./data/deltat.preds ./mw4/resource/deltat.preds')
# runMW(c, 'cp ./data/Leap_Second.dat ./mw4/resource/Leap_Second.dat')
resourceDir = './mw4/resource/'
runMW(c, f'pyrcc5 -o {resourceDir}resources.py {resourceDir}resources.qrc')
@task
def build_widgets(c):
printMW('building widgets')
widgetDir = './mw4/gui/widgets/'
widgets = ['hemisphere', 'image', 'main', 'measure', 'message',
'satellite', 'keypad', 'devicePopup']
for widget in widgets:
name = widgetDir + widget
runMW(c, f'python -m PyQt5.uic.pyuic -x {name}.ui -o {name}_ui.py')
@task()
def test_mc(c):
printMW('testing mountcontrol')
with c.cd('../mountcontrol'):
runMW(c, 'flake8')
runMW(c, 'pytest mountcontrol/test/test_units --cov-config tox.ini --cov mountcontrol/')
@task()
def test_ib(c):
printMW('testing indibase')
with c.cd('../indibase'):
runMW(c, 'flake8')
runMW(c, 'pytest indibase/test/test_units --cov-config .coveragerc --cov mw4/')
@task()
def test_mw(c):
printMW('testing mountwizzard')
with c.cd('.'):
runMW(c, 'flake8')
runMW(c, 'pytest mw4/test/test_units --cov-config .coveragerc --cov mw4/')
@task(pre=[])
def build_mc(c):
printMW('building dist mountcontrol')
with c.cd('../mountcontrol'):
runMW(c, 'rm -f dist/*.tar.gz')
runMW(c, 'python setup.py sdist')
runMW(c, 'cp dist/mountcontrol*.tar.gz ../MountWizzard4/dist/mountcontrol.tar.gz')
@task(pre=[])
def build_ib(c):
printMW('building dist indibase')
with c.cd('../indibase'):
runMW(c, 'rm -f dist/*.tar.gz')
runMW(c, 'python setup.py sdist')
runMW(c, 'cp dist/indibase*.tar.gz ../MountWizzard4/dist/indibase.tar.gz')
@task(pre=[build_resource, build_widgets, build_mc, build_ib])
def build_mw(c):
printMW('building dist mountwizzard4')
with c.cd('.'):
runMW(c, 'rm -f dist/mountwizzard4*.tar.gz')
runMW(c, 'python setup.py sdist')
runMW(c, 'cp dist/mountwizzard4*.tar.gz ../MountWizzard4/dist/mountwizzard4.tar.gz')
@task(pre=[])
def upload_mc(c):
printMW('uploading dist mountcontrol')
with c.cd('../mountcontrol/dist'):
runMW(c, 'twine upload mountcontrol-*.tar.gz -r pypi')
@task(pre=[])
def upload_ib(c):
printMW('uploading dist indibase')
with c.cd('../indibase/dist'):
runMW(c, 'twine upload indibase-*.tar.gz -r pypi')
@task(pre=[])
def upload_mw(c):
printMW('uploading dist mountwizzard4')
with c.cd('./dist'):
runMW(c, 'twine upload mountwizzard4-*.tar.gz -r pypi')
@task(pre=[upload_mc, upload_ib, upload_mw])
def upload_all(c):
printMW('uploading dist complete')
@task(pre=[build_resource, build_widgets, build_mc, build_ib])
def install_all(c):
printMW('installing in work dir')
with c.cd('./dist'):
runMW(c, 'pip install indibase.tar.gz')
runMW(c, 'pip install mountcontrol.tar.gz')