layed out the logging config

This commit is contained in:
Hellow
2023-04-13 23:45:50 +02:00
parent 1c5c390f20
commit 421ab5d4fb
4 changed files with 145 additions and 12 deletions

View File

@@ -4,9 +4,8 @@ from typing import List, Tuple
from ...utils.shared import SHOW_DOWNLOAD_ERRORS_THRESHOLD, DOWNLOAD_LOGGER as LOGGER
from ...objects import Target
UNIT_PREFIXES: List[str] = ["", "k", "m", "g", "t"]
UNIT_DIVISOR=1024
UNIT_DIVISOR = 1024
@dataclass
@@ -44,20 +43,20 @@ class DownloadResult:
return True
return self.failure_percentage > SHOW_DOWNLOAD_ERRORS_THRESHOLD
def _size_val_unit_pref_ind(self, val: float, ind: int) -> Tuple[float, int]:
if val < UNIT_DIVISOR:
return val, ind
if ind >= len(UNIT_PREFIXES):
return val, ind
return self._size_val_unit_pref_ind(val=val/UNIT_DIVISOR, ind=ind+1)
return self._size_val_unit_pref_ind(val=val / UNIT_DIVISOR, ind=ind + 1)
@property
def formated_size(self) -> str:
total_size, prefix_index = self._size_val_unit_pref_ind(self.total_size, 0)
return f"{total_size:.{2}f} {UNIT_PREFIXES[prefix_index]}B"
def add_target(self, target: Target):
self.total_size += target.size
@@ -71,15 +70,15 @@ class DownloadResult:
self.total += other.total
self.fail += other.fail
self._error_message_list.extend(other._error_message_list)
self.total_size += other.total_size
def __str__(self):
if self.is_fatal_error:
return self.error_message
head = f"{self.fail} from {self.total} downloads failed:\n" \
f"successrate:\t{int(self.success_percentage*100)}%\n" \
f"failrate:\t{int(self.failure_percentage*100)}%\n" \
f"successrate:\t{int(self.success_percentage * 100)}%\n" \
f"failrate:\t{int(self.failure_percentage * 100)}%\n" \
f"total size:\t{self.formated_size}"
if not self.is_mild_failure: