Skip to content

Commit 16a123b

Browse files
authored
Merge pull request #4 from MLSA-SRM/master
updating fork
2 parents ada12fd + 79091ae commit 16a123b

File tree

5 files changed

+80
-71
lines changed

5 files changed

+80
-71
lines changed

json_convert.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717

1818
#function to convert JSON to dictionary and print
1919
def jsonToDict(filename):
20-
#try:
20+
try:
2121
with open(filename,'r') as fh:
2222
json_str = fh.read()
2323
json_value = json.loads(json_str)
2424
return json_value
25-
#except:
25+
except:
2626
return False
2727

2828

keys_init.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from utils import message, debug, init_default_key_storage, printy, STORAGE_DIR, STORE_KEY_F
2-
from encrypt import os, keygen, storeKey
2+
from encrypt import os, keygen, storeKey, encryption
3+
from json_convert import dictToJson
34

45
# function to get filename for holding keys from user
56
def get_filename_from_user():
@@ -67,9 +68,13 @@ def init_function():
6768
tokendict = get_keys_from_user()
6869
enc_key = generate_encryption()
6970

70-
message.success("Filename: " + filename)
71+
if dictToJson(tokendict, filename):
72+
if encryption(enc_key, filename):
73+
message.success("Filename: " + filename)
74+
else:
75+
message.error("Filename: " + filename)
7176
message.success("Keys Added: ")
7277
printy(tokendict, indentation=4)
7378

7479

75-
init_function()
80+
# init_function()

main.py

Lines changed: 64 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,70 @@
1-
from encrypt import encryption, decryption
1+
import sys
2+
from encrypt import encryption, decryption, getKey
23
from json_convert import jsonToDict
3-
from utils import message
4-
from keys_init import get_filename_from_user, generate_encryption
4+
from utils import message, STORAGE_DIR, STORE_KEY_F
55
from menu_functions import add, subtract, modify
66
from helpVersion import help, version
7+
from keys_init import init_function
78

8-
def main_menu():
9-
message.success("1)Type ""add"" to add a key to the existing API keys. \n Type ""sub"" to Subtract a key to the existing API keys. \n Type ""mod"" to modify your Api keys \n Type ""Encrypt"" to Encrypt your Keys \n Type ""Decrypt"" to decrypt your keys \n Type ""help""to get help\n Type ""version"" to know the current version")
10-
input= message.prompt("Enter your choice")
11-
filename= message.prompt("Enter file name")
12-
if(input=="add"):
13-
s= jsonToDict(filename)
14-
if(s == False):
15-
key1=message.prompt("enter the key")
16-
decryption(key1, filename)
17-
add(filename)
18-
encryption(key1, filename)
19-
else:
20-
add(filename)
21-
elif (input=="sub"):
22-
s= jsonToDict(filename)
23-
if(s == False):
24-
key1=message.prompt("enter the key")
25-
decryption(key1, filename)
26-
subtract(filename)
27-
encryption(key1, filename)
28-
else:
29-
subtract(filename)
30-
elif (input=="mod"):
31-
s= jsonToDict(filename)
32-
if(s == False):
33-
key1=message.prompt("enter the key")
34-
decryption(key1, filename)
35-
modify(filename)
36-
encryption(key1, filename)
37-
else:
38-
modify(filename)
39-
40-
elif (input=="Encrypt"):
41-
s= jsonToDict(filename)
42-
43-
if(s == False):
44-
message.success("The data is encrypted")
45-
else:
46-
key1=message.prompt("enter the key")
47-
message.success("The data was not encrypted")
48-
encryption(key1, filename)
49-
#print("The Json is now encrypted")
50-
51-
elif (input=="Decrypt"):
52-
s= jsonToDict(filename)
53-
54-
if(s == False):
55-
key1=message.prompt("enter the key")
56-
decryption(key1, filename)
57-
58-
else:
59-
message.success("The data is not encrypted")
60-
elif(input=="help"):
9+
# check encrypted
10+
def checkEnc(filename):
11+
return jsonToDict(filename)
12+
13+
# main menu hub of CLIK
14+
def main_menu(args):
15+
# print(args)
16+
if args[0].lower() == 'init':
17+
init_function()
18+
elif args[0].lower() == '--help':
6119
help()
62-
elif(input=="version"):
20+
elif args[0].lower() == '--version':
6321
version()
64-
main_menu()
22+
else:
23+
fname = args[0]
24+
cmd = args[1]
25+
26+
# encrypt file
27+
if cmd.lower() == 'enc':
28+
if checkEnc(fname) != False:
29+
keyFname = message.prompt('File with key for description (' + STORAGE_DIR + '/' + STORE_KEY_F + '): ')
30+
key = getKey() if keyFname == '' else getKey(keyFname)
31+
encryption(key, fname)
32+
message.success(fname + ' is now encrypted')
33+
else:
34+
message.error(fname + ' is already encrypted')
35+
36+
# decrypt file
37+
elif cmd.lower() == 'dec':
38+
if checkEnc(fname) != False:
39+
message.error(fname + ' is already decrypted')
40+
else:
41+
keyFname = message.prompt('File with key for description (' + STORAGE_DIR + '/' + STORE_KEY_F + '): ')
42+
key = getKey() if keyFname == '' else getKey(keyFname)
43+
decryption(key, fname)
44+
message.success(fname + ' is now decrypted')
45+
46+
# add new keys
47+
elif cmd.lower() == 'add':
48+
if checkEnc(fname) != False:
49+
add(fname)
50+
else:
51+
message.error(fname + ' is encrypted')
52+
53+
# subtract keys
54+
elif cmd.lower() == 'sub':
55+
if checkEnc(fname) != False:
56+
subtract(fname)
57+
else:
58+
message.error(fname + ' is encrypted')
59+
60+
# subtract keys
61+
elif cmd.lower() == 'mod':
62+
if checkEnc(fname) != False:
63+
modify(fname)
64+
else:
65+
message.error(fname + ' is encrypted')
66+
67+
68+
# main function
69+
if __name__ == "__main__":
70+
main_menu(sys.argv[1:])

menu_functions.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
from utils import message, debug, init_default_key_storage, printy, STORAGE_DIR, STORE_KEY_F
22
from json_convert import jsonToDict, dictToJson, display_json
33

4-
fileName = 'test_data/test_api_keys.json'
5-
display_json (fileName)
64

75
def add(fileName):
8-
dictkeys = jsonToDict('test_data/test_api_keys.json')
6+
dictkeys = jsonToDict(fileName)
97

108
def getKeyValue(keyName):
119
key = message.prompt(keyName + ' value')
@@ -22,15 +20,15 @@ def getKeyValue(keyName):
2220
elif (keyName==''):
2321
break
2422
try:
25-
dictToJson(dictkeys,'test_data/test_api_keys.json')
23+
dictToJson(dictkeys, fileName)
2624
message.success('New keys added successfully!')
2725
except:
2826
message.error('Some error occured!')
2927
return False
3028

3129

3230
def subtract(fileName):
33-
dictkeys = jsonToDict('test_data/test_api_keys.json')
31+
dictkeys = jsonToDict(fileName)
3432

3533
def removeKeyValue(keyName):
3634
try:
@@ -47,15 +45,15 @@ def removeKeyValue(keyName):
4745
break
4846

4947
try:
50-
dictToJson(dictkeys,'test_data/test_api_keys.json')
48+
dictToJson(dictkeys, fileName)
5149
message.success('Keys removed successfully!')
5250
except:
5351
message.error('Some error occured!')
5452
return False
5553

5654

5755
def modify(fileName):
58-
dictkeys = jsonToDict('test_data/test_api_keys.json')
56+
dictkeys = jsonToDict(fileName)
5957

6058
def modifyKeyValue(keyName):
6159
if keyName in dictkeys:
@@ -77,7 +75,7 @@ def modifyKeyValue(keyName):
7775
break
7876

7977
try:
80-
dictToJson(dictkeys,'test_data/test_api_keys.json')
78+
dictToJson(dictkeys,fileName)
8179
message.success('Keys modified successfully!')
8280
except:
8381
message.error('Some error occured!')
File renamed without changes.

0 commit comments

Comments
 (0)