def __init__(self, message, exception=None, *args): """Inicializuj výjimku a zaloguj informace o ní. Argumenty: message -- lidsky čitelné oznámení o chybě, string; může být též 'None', v kterémžto případě se doplní standardní zpráva o databázové chybě, to je však vhodné používat pouze v případě, kdy nemá smysl uživateli sdělovat bližší popis chyby exception -- výjimka, která tuto výjimku způsobila, instance třídy 'Exception'; nebo 'None' (neznamená nutně, že chyba nebyla způsobena výjimkou, tato výjimka pouze nemusí být podstatná) args -- libovolné další argumenty, které mají být spolu s 'message' a 'exception' předány konstruktoru nadtřídy """ if message is None: message = _(u"Database error") super_(DBException).__init__(self, message, exception, *args) log(OPERATIONAL, 'Database exception', (message, ) + args) if exception: log(OPERATIONAL, 'Wrapped database exception', (exception, ) + exception.args) self._message = message self._exception = exception
def __init__(self, module_name, spec_name): """Inicializuj výjimku. Argumenty: module_name -- jméno specifikačního modulu, string spec_name -- jméno specfikační funkce, string """ msg = 'Specification not found: %s, %s' % (module_name, spec_name) super_(ResolverSpecError).__init__(self, msg)
def __init__(self, family, *contents): """Definuj text. Argumenty: family -- jedna z konstant této třídy určující rodinu použitého fontu contents -- značky, na které je změna velikosti fontu aplikována """ super_(FontFamily).__init__(self, *contents) self._family = family
def __init__(self, module_name, *args): """Inicializuj výjimku. Argumenty: module_name -- jméno nenalezeného specifikačního modulu, string args -- další argumenty předané konstruktoru předka """ msg = 'Specification module not found: %s, %s' % (module_name, args) super_(ResolverModuleError).__init__(self, msg)
def __init__(self, file_name, path, exception): """Inicializuj výjimku. Argumenty: file_name -- jméno nenalezeného specifikačního souboru, string path -- cesta ke specifikačním souborům, string exception -- výjimka, která problém signalizovala, instance třídy 'Exception' nebo 'None' """ msg = 'Error importing specification file %s: %s %s' % (file_name, exception, path) super_(ResolverFileError).__init__(self, msg)
def __init__(self, size, *contents): """Definuj text. Argumenty: size -- float určující relativní velikost fontu vzhledem k aktuálnímu, na daném místě použitému fontu; 1.0 značí shodnou velikost contents -- značky, na které je změna velikosti fontu aplikována """ super_(FontSize).__init__(self, *contents) self._size = size
def __init__(self, file_name, path, exception): """Inicializuj výjimku. Argumenty: file_name -- jméno nenalezeného specifikačního souboru, string path -- cesta ke specifikačním souborům, string exception -- výjimka, která problém signalizovala, instance třídy 'Exception' nebo 'None' """ msg = 'Error importing specification file %s: %s %s' % ( file_name, exception, path) super_(ResolverFileError).__init__(self, msg)
def __init__(self, provider, limit=1000): """Inicializuj instanci. Argumenty: provider -- stejné jako v předkovi limit -- nezáp**ný integer určující maximální povolený počet položek cache """ super_(LimitedCache).__init__(self, provider) assert isinstance(limit, int), limit self._limit = limit self._counter = Counter() self._lock = _thread.allocate_lock()
def __init__(self, message, exception=None, *args): """Inicializuj výjimku a zaloguj informace o ní. Argumenty: message -- lidsky čitelné oznámení o chybě, string; může být též 'None', v kterémžto případě se doplní standardní zpráva o databázové chybě, to je však vhodné používat pouze v případě, kdy nemá smysl uživateli sdělovat bližší popis chyby exception -- výjimka, která tuto výjimku způsobila, instance třídy 'Exception'; nebo 'None' (neznamená nutně, že chyba nebyla způsobena výjimkou, tato výjimka pouze nemusí být podstatná) args -- libovolné další argumenty, které mají být spolu s 'message' a 'exception' předány konstruktoru nadtřídy """ if message is None: message = _(u"Database error") super_(DBException).__init__(self, message, exception, *args) log(OPERATIONAL, 'Database exception', (message,) + args) if exception: log(OPERATIONAL, 'Wrapped database exception', (exception,) + exception.args) self._message = message self._exception = exception
def __getitem__(self, key): """Vrať hodnotu odpovídající klíči 'key'. Pokud hodnota není v cache přítomna, použij pro její získání funkci 'provider' a ulož ji do cache. Metoda sama o sobě nevyvolává žádnou výjimku. """ try: result = super_(_Cache).__getitem__(self, key) if self._validator is not None and not self._validator(key): raise KeyError() except KeyError: result = self[key] = self._provider(key) return result
def __getitem__(self, key): result = super_(LimitedCache).__getitem__(self, key) return result
def __init__(self): super_(DBLockException).__init__(self, None)
def __init__(self): """Inicializuj databázovou výjimku s patřičnými argumenty.""" super_(DBLoginException).__init__(self, _(u"Invalid user name or password"))
def reset(self): super_(LimitedCache).reset(self) self._counter.reset()
def __setitem__(self, key, value): if self._limit > 0: with Locked(self._lock): if self._counter.next() > self._limit: self._collect() super_(LimitedCache).__setitem__(self, key, value)
def __setitem__(self, key, value): """Ulož 'value' s 'key' do cache.""" super_(_Cache).__setitem__(self, key, value)