Пример #1
0
def parse_tmp_dir(directory):
	directory = directory + '/tmp~'
	if not os.path.exists(directory):
		return []
	d = Dir(directory)
	tmp_files = []
	for root, dirs, files in d.walk():
		for file in files:
			tmp_files.append((root, file, os.stat(root + '/' + file).st_size, get_file_sha256_hash(root + '/' + file)))
	return tmp_files
Пример #2
0
	def process_restore_folder(self):
		restoredir = self.clientdir + '/restore~'
		d = Dir(restoredir)
	
		for root, dirs, files in d.walk():
			for file in files:
				if file in self.file_dict:
					if not os.path.exists(os.path.dirname(self.clientdir + '/' + self.file_dict[file])):
						os.makedirs(os.path.dirname(self.clientdir + '/' + self.file_dict[file]))
					decrypt_file(self.key, root + '/' + file, self.clientdir + '/' + self.file_dict[file])
					os.unlink(root + '/' + file)
Пример #3
0
def parse_existing_clientdir(pwd, directory):
	file_dict = {}
	curdir = os.getcwd()
	d = Dir(directory)
	for root, dirs, files in d.walk():
		for fileName in files:
			if fileName[-1] == '~' or root[-1] == '~':
				continue
			else:
				relFile = root[len(curdir) + 1:] + '/' + fileName
				file_dict[hashlib.sha256(pwd + relFile).hexdigest()] = relFile
	return file_dict
Пример #4
0
def parse_new_dir(directory, pwd, key):
	file_dict = {}
	curdir = os.getcwd()
	if not os.path.exists(directory + '/tmp~'):
		os.makedirs(directory + '/tmp~')
	d = Dir(directory)
	for root, dirs, files in d.walk():
		for file in files:
			if file[-1] == '~' or root[-1] == '~':
				continue
			else:
				original_file = root + '/' + file
				new_file = hashlib.sha256(pwd + root[len(curdir) + 1:] + '/' + file).hexdigest()
				encrypt_file(key, original_file, directory + '/tmp~/' + new_file)
				file_dict[new_file] = original_file
	return file_dict