-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkanboard-gitlab
executable file
·58 lines (47 loc) · 1.6 KB
/
kanboard-gitlab
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
#!/usr/bin/env python
import os
import sys
import kanboard_gitlab
from gettext import bindtextdomain, textdomain, gettext as _
from envparse import env
from kanboard_gitlab.importer import GitlabImporter
def checkenv(var):
if not env(var, default=None):
print(_('- Missing environment variable: {}').format(var))
return False
return True
def main():
path = os.path.join(os.path.dirname(kanboard_gitlab.__file__), 'locale')
bindtextdomain('kanboard-gitlab', path)
textdomain('kanboard-gitlab')
# TODO: Better support for configuring international labels and columns
labels = {
'To Do': _('Ready'),
'Doing': _('Work in progress'),
}
# Requirements
if [v for v in (
'GITLAB_ENDPOINT',
'GITLAB_TOKEN',
'KANBOARD_ENDPOINT',
'KANBOARD_TOKEN',
) if not checkenv(v)]:
print(_('Please, configure environment variable(s) to continue...'))
sys.exit(1)
if len(sys.argv) < 2:
print(_('kanboard-gitlab version {}').format(kanboard_gitlab.version))
print()
print(_('Please inform namespace and project name from gitlab:'))
print(_('{} namespace/project').format(os.path.basename(sys.argv[0])))
sys.exit(2)
importer = GitlabImporter(labels)
importer.setup_gitlab(env('GITLAB_ENDPOINT'), env('GITLAB_TOKEN'))
importer.setup_kanboard(
env('KANBOARD_ENDPOINT'),
env('KANBOARD_USER', default='jsonrpc'),
env('KANBOARD_TOKEN'),
)
importer.connect()
importer.migrate(*sys.argv[1].split('/'))
if __name__ == '__main__':
main()