1
1
import argparse
2
- import sys
3
2
from code import interact
4
3
from collections import ChainMap
5
- from datajoint import __version__ as version , config , create_virtual_module
4
+ import datajoint as dj
6
5
7
6
8
7
def dj_cli (args : list = None ):
@@ -18,52 +17,52 @@ def dj_cli(args: list = None):
18
17
conflict_handler = "resolve" ,
19
18
)
20
19
parser .add_argument (
21
- "-V" , "--version" , action = "version" , version = f"datajoint { version } "
20
+ "-V" , "--version" , action = "version" , version = f"datajoint { dj . __version__ } "
22
21
)
23
22
parser .add_argument (
24
23
"-u" ,
25
24
"--user" ,
26
25
type = str ,
27
- default = config ["database.user" ],
26
+ default = dj . config ["database.user" ],
28
27
required = False ,
29
28
help = "Datajoint username" ,
30
29
)
31
30
parser .add_argument (
32
31
"-p" ,
33
32
"--password" ,
34
33
type = str ,
35
- default = config ["database.password" ],
34
+ default = dj . config ["database.password" ],
36
35
required = False ,
37
36
help = "Datajoint password" ,
38
37
)
39
38
parser .add_argument (
40
39
"-h" ,
41
40
"--host" ,
42
41
type = str ,
43
- default = config ["database.host" ],
42
+ default = dj . config ["database.host" ],
44
43
required = False ,
45
44
help = "Datajoint host" ,
46
45
)
47
46
parser .add_argument (
48
47
"-s" ,
49
48
"--schemas" ,
50
49
nargs = "+" ,
51
- type = [str ],
52
- default = [],
50
+ type = str ,
53
51
required = False ,
54
52
help = "A list of virtual module mappings in `db:schema ...` format" ,
55
53
)
56
- kwargs = vars (parser .parse_args (args if sys . argv [ 1 :] else [ "--help" ] ))
54
+ kwargs = vars (parser .parse_args (args ))
57
55
mods = {}
58
56
if kwargs ["user" ]:
59
- config ["database.user" ] = kwargs ["user" ]
57
+ dj . config ["database.user" ] = kwargs ["user" ]
60
58
if kwargs ["password" ]:
61
- config ["database.password" ] = kwargs ["password" ]
59
+ dj . config ["database.password" ] = kwargs ["password" ]
62
60
if kwargs ["host" ]:
63
- config ["database.host" ] = kwargs ["host" ]
61
+ dj . config ["database.host" ] = kwargs ["host" ]
64
62
if kwargs ["schemas" ]:
65
- d , m = kwargs ["schemas" ].split (":" )
66
- mods [m ] = create_virtual_module (m , d )
63
+ for vm in kwargs ["schemas" ]:
64
+ d , m = vm .split (":" )
65
+ mods [m ] = dj .create_virtual_module (m , d )
67
66
68
67
banner = "dj repl\n "
69
68
if mods :
0 commit comments