diff --git a/src/borgmanager/database/object/archive.py b/src/borgmanager/database/object/archive.py index b3ac6cb..be9ad5d 100644 --- a/src/borgmanager/database/object/archive.py +++ b/src/borgmanager/database/object/archive.py @@ -32,4 +32,15 @@ class Archive(DBObject): @classmethod def from_sql(cls, sql: list): - pass + primary_key = sql[0] + fingerprint = sql[1] + name = sql[3] + start = sql[4] + end = sql[5] + file_count = sql[6] + original_size = sql[7] + compressed_size = sql[8] + deduplicated_size = sql[9] + + return cls(fingerprint, name, start, end, file_count, original_size, + compressed_size, deduplicated_size, primary_key) diff --git a/src/borgmanager/database/object/cache.py b/src/borgmanager/database/object/cache.py index 6600495..e3de1e4 100644 --- a/src/borgmanager/database/object/cache.py +++ b/src/borgmanager/database/object/cache.py @@ -23,5 +23,14 @@ class Cache(DBObject): return cls(total_chunks, total_csize, total_size, total_unique_chunks, unique_csize, unique_size) @classmethod - def from_sql(cls, sql: list): - pass + def from_sql(cls, sql: tuple): + primary_key = sql[0] + total_chunks = sql[2] + total_csize = sql[3] + total_size = sql[4] + total_unique_chunks = sql[5] + unique_csize = sql[6] + unique_size = sql[7] + + return cls(total_chunks, total_csize, total_size, total_unique_chunks, + unique_csize, unique_size, primary_key)