-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathkhome.py
More file actions
executable file
·59 lines (49 loc) · 1.88 KB
/
khome.py
File metadata and controls
executable file
·59 lines (49 loc) · 1.88 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
54
55
56
57
58
59
#!/usr/bin/python3
import sys
import argparse
import os
from kLibs import Kdefault, KSocket, Kjson, Kcrypto, MongoStatic, jsonConstructor
parser = argparse.ArgumentParser(description='khome')
parser.add_argument('-r', '--role', action='store', dest='khomeRole', help='select role. example --role kserver | kclient')
parser.add_argument('-f', '--file', action='store', dest='filename', nargs='?', type=argparse.FileType('r'), help='Set full path to parsing file')
parser.add_argument('-k', '--key', action='store_true', help='create keys pair')
parser.add_argument('-d', '--default', action='store_true', help='create default configs and dir. ATTENTION!!! REMOVE OLD!!!')
results = parser.parse_args()
defaultPath = '/opt/khome/defaults/'
defaultJSON = 'default.json'
defaultConf = Kdefault(defaultPath)
defaultData = {
"services": {
"kclient": {
"AESkey": "f861feab561441c0e1fdcba91581dd95"
},
"kserver": {
"serverHost": "127.0.0.1",
"serverPort": 27072
}
}
}
if len(sys.argv) < 2:
parser.print_help()
sys.exit()
if not os.path.isfile(defaultPath + defaultJSON) and not results.default:
print('Config not exist')
sys.exit()
if results.default:
if defaultConf.checkDefaultConfig():
defaultConf.removeDefaultDir()
jsonDefaultFile = jsonConstructor(defaultPath, defaultJSON, defaultData)
defaultConf.createDefaultDir()
jsonDefaultFile.creator()
Kcrypto(defaultPath).createKeysPair()
sys.exit()
if results.key:
Kcrypto(defaultPath).createKeysPair()
getDataJSON = Kjson(defaultPath + defaultJSON).getJSONdata()
if results.khomeRole == 'kserver':
startKServer = KSocket(getDataJSON).startListener()
elif results.khomeRole == 'kclient':
startKClient = KSocket(getDataJSON).setConnection()
else:
print('[ ! ] Role not known')
sys.exit()