split-secret/scripts/classes/AbstractSplittedSecret.py

51 lines
1.9 KiB
Python
Raw Normal View History

2022-12-10 21:48:24 +01:00
import os
2022-12-09 13:22:57 +01:00
2022-12-10 22:03:29 +01:00
class AbstractSplittedSecret():
2022-12-10 12:21:43 +01:00
# At the moment the programm can only deal with one digit numbers.
2022-12-10 12:21:43 +01:00
MAXIMUM_SECRET_HOLDERS = 9
MINIMUM_SECRET_HOLDERS = 2
2022-12-09 20:10:12 +01:00
2022-12-10 13:22:09 +01:00
TYPE_ENCRYPTED="encrypted"
2022-12-10 21:48:24 +01:00
TYPE_DECRYPTED="decrypted"
ROOT_PATH= os.path.join(os.path.dirname(os.path.abspath(__file__)),"../","../")
2022-12-10 13:22:09 +01:00
def __init__(self):
2022-12-10 21:48:24 +01:00
self.data_folder = os.path.join(self.ROOT_PATH,"data") + '/'
2022-12-09 20:10:12 +01:00
2022-12-10 12:21:43 +01:00
def getCoSecretHoldersRange():
return range(AbstractSplittedSecret.MINIMUM_SECRET_HOLDERS,AbstractSplittedSecret.MAXIMUM_SECRET_HOLDERS)
def getSecretHoldersRange():
return range(1,AbstractSplittedSecret.MAXIMUM_SECRET_HOLDERS)
def getDataFolderPath(self,folder_type):
2022-12-09 20:10:12 +01:00
return self.data_folder + folder_type + "/"
def getGroupFilesFolderPath(self,folder_type):
return self.getDataFolderPath(folder_type) + "group_files/"
2022-12-09 20:10:12 +01:00
def getUserFilesFolderPath(self,folder_type):
return self.getDataFolderPath(folder_type) + "user_files/"
def getEncryptedMainDataFile(self):
return self.getDataFolderPath(AbstractSplittedSecret.TYPE_ENCRYPTED) + "main_data.tar.gz.gpg"
def getDecryptedMainDataStandartFolder(self):
return self.getDataFolderPath(AbstractSplittedSecret.TYPE_DECRYPTED) + "main_data/"
2022-12-09 20:10:12 +01:00
def getFileExtension(self,file_type):
2022-12-10 13:22:09 +01:00
if file_type == AbstractSplittedSecret.TYPE_ENCRYPTED:
2022-12-09 20:39:00 +01:00
return '.gpg'
return ''
2022-12-09 20:10:12 +01:00
def getUserFilePath(self,user_id,file_type):
return self.getUserFilesFolderPath(file_type)+user_id+'.json' + self.getFileExtension(file_type);
def getGroupFilePath(self,group_id,file_type):
return self.getGroupFilesFolderPath(file_type) + str(group_id) + '.txt' + self.getFileExtension(file_type);
def getAccumulatedFilePath(self,file_type):
return self.getDataFolderPath(file_type) + 'accumulated.json' + self.getFileExtension(file_type);