diff --git a/backup.py b/backup.py index 90832db..30f1612 100644 --- a/backup.py +++ b/backup.py @@ -70,10 +70,12 @@ class Backup: orphans = self.bdd.get_orphan_crypt() for orphan in orphans: # Delete orphan crypt + print("Clear deleted crypt :", orphan['id']) self.__delete_file(str(orphan['id']).zfill(ZFILL)) self.bdd.delete_crypt(orphan['id']) nocrypts = self.bdd.get_file_no_crypt() for nocrypt in nocrypts: + print("Clear deleted file :", nocrypt) self.bdd.delete_file(nocrypt) return self @@ -364,7 +366,7 @@ class DataBase: id = most_common(crypt_id_list) else: # if not already/find in bdd - cursor.execute("""SELECT IFNULL(max(id) + 1, 0) as crypt_id FROM crypt""") + cursor.execute("""SELECT IFNULL(max(id) + 1, 1) as crypt_id FROM crypt""") return cursor.fetchone()['crypt_id'] params = {'id': id, 'name': ', '.join([f"'{file['name']}'" for file in list_file]), diff --git a/main.py b/main.py index df41b9c..d3e7bf7 100644 --- a/main.py +++ b/main.py @@ -2,14 +2,16 @@ from Crypto.Random import get_random_bytes import os import backup -from backup import Backup +from backup import * -if not os.path.exists("key"): +key_file = "key" + +if not os.path.exists(key_file): key = get_random_bytes(32) # 32 bytes * 8 = 256 bits (1 byte = 8 bits) - open("key", 'wb').write(key) + open(key_file, 'wb').write(key) print("Saved") else: - key = open("key", 'rb').read() + key = open(key_file, 'rb').read() print("Recovered") print(key) @@ -18,15 +20,25 @@ print(key) # application_key = 'K003RNvGfy+pazc6pD97xuUzPcDEqS0' # bucket_id = '6a1a9000075465fe7cc4021a' -bdd = "bdd.db" + +bdd_location = os.path.abspath("bdd.db") +exported_bdd = os.path.join("crypted", "0".zfill(ZFILL)) +if os.path.exists(exported_bdd): + print("Reload BDD from", exported_bdd) + backup.save(backup.uncrypt(exported_bdd, key), bdd_location) #bck = Backup().backblaze(key, bdd=bdd, app_key_id=application_key_id, app_key=application_key, bucket_id=bucket_id) -bck = Backup().local(key, bdd=bdd, save_location="crypted") +bck = Backup().local(key, bdd=bdd_location, save_location="crypted") bck.check("/home/lionel/Images", recurse=False) bck.clear("/home/lionel/Images", recurse=False) bck.save("/home/lionel/Images", recurse=False) +exported_bdd = os.path.join("crypted", "0".zfill(ZFILL)) +print("Save BDD on", exported_bdd) +backup.save(backup.crypt(bdd_location, key), exported_bdd) +os.remove(bdd_location) + # rootdir = "test" # bck.clear(rootdir, recurse=False) # bck.save(rootdir)