borg-web/borg-client/tables/cache.py

37 lines
1.3 KiB
Python

from datetime import datetime, timezone
from pathlib import Path
class Cache(object):
def __init__(self, total_chunks: int, total_csize: int, total_size: int, total_unique_chunks: int,
unique_csize: int, unique_size: int):
self.total_chunks = total_chunks
self.total_csize = total_csize
self.total_size = total_size
self.total_unique_chunks = total_unique_chunks
self.unique_csize = unique_csize
self.unique_size = unique_size
@classmethod
def from_json(cls, json: dict):
total_chunks = json['total_chunks']
total_csize = json['total_csize']
total_size = json['total_size']
total_unique_chunks = json['total_unique_chunks']
unique_csize = json['unique_csize']
unique_size = json['unique_size']
return cls(total_chunks, total_csize, total_size, total_unique_chunks, unique_csize, unique_size)
def get_dict(self, label):
if not label.strip():
raise Exception("No label supplied")
return {
"label": label,
"total_chunks": self.total_chunks,
"total_csize": self.total_csize,
"total_size": self.total_size,
"total_unique_chunks": self.total_unique_chunks,
"unique_csize": self.unique_csize,
"unique_size": self.unique_size
}