37 lines
1.3 KiB
Python
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
|
|
}
|