forked from Ghatage/horcrux
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfilehandler.py
40 lines (32 loc) · 1.39 KB
/
filehandler.py
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
import os, shutil, pickle
class FileHandlingLayer(object):
def write_list_file(hiddendirectory, filename, result):
with open(hiddendirectory + '/' + os.path.basename(filename) + '.lst', 'wb') as listfile:
pickle.dump(result, listfile, protocol=pickle.HIGHEST_PROTOCOL)
def read_list_file(hiddendirectory, filename):
with open(hiddendirectory + '/' + os.path.basename(filename) + '.lst', 'rb') as listfile:
return pickle.load(listfile)
def move_all_block_files(filelist, filename, hiddendirectory):
for blockfile in filelist:
shutil.move(os.path.split(filename)[0] + '/' + blockfile, hiddendirectory)
for blockfile in filelist:
shutil.move(os.path.split(filename)[0] + '/' + blockfile + '.enc', hiddendirectory)
def remove_files_from_dir(hiddendirectory, pattern):
filelist = [ f for f in os.listdir(hiddendirectory) if f.endswith(pattern) ]
for f in filelist:
os.remove(os.path.join(hiddendirectory, f))
def create_hidden_dir(filename):
directory = "." + os.path.basename(filename)
if not os.path.exists(directory):
os.makedirs(directory)
return directory
def check_if_lst_enc_files_exist(hiddendirectory, listfile, enc2hashfile):
if os.path.isdir(hiddendirectory):
if os.path.exists(listfile) and os.path.exists(enc2hashfile):
return True
else:
print ("No such file, returning")
return False
else:
print ("No such file, returning")
return False