New Addon
Google BK
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
|
||||
from datetime import timedelta
|
||||
from threading import Lock
|
||||
|
||||
from injector import inject, singleton
|
||||
|
||||
from ..time import Time
|
||||
from ..logger import getLogger
|
||||
|
||||
logger = getLogger(__name__)
|
||||
|
||||
|
||||
@singleton
|
||||
class GlobalInfo():
|
||||
@inject
|
||||
def __init__(self, time: Time):
|
||||
self._time = time
|
||||
self._syncs = 0
|
||||
self._failures = 0
|
||||
self._last_error = 0
|
||||
self._successes = 0
|
||||
self._last_failure_time = None
|
||||
self._uploads = 0
|
||||
self._last_upload = None
|
||||
self._last_success = time.now()
|
||||
self._last_sync_success = None
|
||||
self._last_upload_size = None
|
||||
self._last_sync_start = None
|
||||
self._last_error = None
|
||||
self._supress_error = False
|
||||
self.credVersion = 0
|
||||
self._first_sync = True
|
||||
self._multipleDeletesPermitted = False
|
||||
self._dns_info = None
|
||||
self._skip_space_check_once = False
|
||||
self._ignore_errors_for_now = False
|
||||
self._start_time = time.now()
|
||||
|
||||
self.ha_ssl = False
|
||||
self.addons = None
|
||||
self.ha_port = None
|
||||
self.slug = None
|
||||
self.url = ""
|
||||
self.debug = {}
|
||||
self.lock = Lock()
|
||||
self.backup_cooldown_time = time.now()
|
||||
|
||||
def ignoreErrorsForNow(self):
|
||||
return self._ignore_errors_for_now
|
||||
|
||||
def setIngoreErrorsForNow(self, value):
|
||||
self._ignore_errors_for_now = value
|
||||
|
||||
def failureCount(self):
|
||||
return self._failures
|
||||
|
||||
def refresh(self):
|
||||
pass
|
||||
|
||||
def setDnsInfo(self, info):
|
||||
self._dns_info = info
|
||||
|
||||
@property
|
||||
def start_time(self):
|
||||
return self._start_time
|
||||
|
||||
def getDnsInfo(self):
|
||||
return self._dns_info
|
||||
|
||||
def success(self):
|
||||
self._first_sync = False
|
||||
self._last_error = None
|
||||
self._last_success = self._time.now()
|
||||
self._last_sync_success = self._time.now()
|
||||
self._successes += 1
|
||||
self._multipleDeletesPermitted = False
|
||||
self.setIngoreErrorsForNow(False)
|
||||
|
||||
def sync(self):
|
||||
self._last_sync_start = self._time.now()
|
||||
self._syncs += 1
|
||||
|
||||
def failed(self, error):
|
||||
self._first_sync = False
|
||||
self._last_error = error
|
||||
self._failures += 1
|
||||
self._last_failure_time = self._time.now()
|
||||
self._supress_error = False
|
||||
self.setIngoreErrorsForNow(False)
|
||||
|
||||
def suppressError(self):
|
||||
self._supress_error = True
|
||||
|
||||
def isErrorSuppressed(self):
|
||||
return self.suppressError
|
||||
|
||||
def upload(self, size):
|
||||
self._last_upload = self._time.now()
|
||||
self._uploads += 1
|
||||
self._last_upload_size = size
|
||||
|
||||
def credsSaved(self):
|
||||
self.credVersion += 1
|
||||
|
||||
def isPermitMultipleDeletes(self) -> bool:
|
||||
return self._multipleDeletesPermitted
|
||||
|
||||
def allowMultipleDeletes(self) -> bool:
|
||||
self._multipleDeletesPermitted = True
|
||||
|
||||
def addDebugInfo(self, key, value):
|
||||
with self.lock:
|
||||
self.debug[key] = value
|
||||
|
||||
def isSkipSpaceCheckOnce(self):
|
||||
return self._skip_space_check_once
|
||||
|
||||
def setSkipSpaceCheckOnce(self, val):
|
||||
self._skip_space_check_once = val
|
||||
|
||||
def triggerBackupCooldown(self, delay: timedelta):
|
||||
self.backup_cooldown_time = self._time.now() + delay
|
||||
|
||||
def backupCooldownTime(self):
|
||||
return self.backup_cooldown_time
|
||||
Reference in New Issue
Block a user