EJIO.utils.component.clock package

Inheritance diagram of EJIO.utils.component.clock.time_class.Time, EJIO.utils.component.clock.virtual_clock.VirtualClock, EJIO.utils.component.clock.realtime_clock.RealtimeClock, EJIO.utils.component.clock.timer.Timer

Submodules

EJIO.utils.component.clock.base_clock module

class EJIO.utils.component.clock.base_clock.Clock[исходный код]

Базовые классы: ABC

Базовый класс часов: обеспечивает старт и остановку времени.

abstractmethod get_time() → Time[исходный код]

Возвращает текущее время.

Результат:

Объект Time.

Исключение:

NotImplementedError – Должен быть реализован в подклассах.

property running: bool

Возвращает статус часов.

Результат:

Запущены ли часы.

start() → Self[исходный код]

Запускает часы.

Результат:

Сам объект для цепочки вызовов.

Исключение:

ClockError – Если часы уже запущены.

stop() → Self[исходный код]

Останавливает часы.

Результат:

Сам объект для цепочки вызовов.

Исключение:

ClockError – Если часы не запущены.

EJIO.utils.component.clock.err module

exception EJIO.utils.component.clock.err.ClockError(message: str)[исходный код]

Базовые классы: UtilsBaseError

Исключение, связанное с ошибками работы часов или таймера.

EJIO.utils.component.clock.realtime_clock module

class EJIO.utils.component.clock.realtime_clock.RealtimeClock[исходный код]

Базовые классы: Clock

Реальные часы, основаны на системном времени.

get_time() → Time[исходный код]

Получает текущее системное время.

Результат:

Объект Time со значением текущего времени.

EJIO.utils.component.clock.time_class module

class EJIO.utils.component.clock.time_class.Time(*, years: float = 0, days: float = 0, hours: float = 0, minutes: float = 0, seconds: float = 0, milliseconds: float = 0, microseconds: float = 0, nanoseconds: int = 0)[исходный код]

Базовые классы: object

Класс представляет промежуток времени с точностью до наносекунд. Можно форматировать и получать в разных единицах.

as_days() → int[исходный код]

Получить время в днях.

Результат:

Время в днях.

as_hours() → int[исходный код]

Получить время в часах.

Результат:

Время в часах.

as_microseconds() → int[исходный код]

Получить время в микросекундах.

Результат:

Время в микросекундах.

as_milliseconds() → int[исходный код]

Получить время в миллисекундах.

Результат:

Время в миллисекундах.

as_minutes() → int[исходный код]

Получить время в минутах.

Результат:

Время в минутах.

as_nanoseconds() → int[исходный код]

Получить время в наносекундах.

Результат:

Время в наносекундах.

as_seconds() → int[исходный код]

Получить время в секундах.

Результат:

Время в секундах.

as_years() → int[исходный код]

Получить время в годах.

Результат:

Время в годах.

format(fmt: str = '%Y:%j:%H:%M:%S:%f') → str[исходный код]

Форматирует время согласно шаблону.

%Y - Год %j - День %H - Часы %M - Минуты %S - Секунды %f - Микросекунды

Параметры:

fmt – Формат строки, по умолчанию „%Y:%j:%H:%M:%S:%f“.

Результат:

Отформатированная строка.

classmethod from_datetime(dt: datetime) → Time[исходный код]

Создает объект Time из объекта datetime.

Параметры:

dt – Объект datetime.

Результат:

Новый объект Time.

EJIO.utils.component.clock.timer module

class EJIO.utils.component.clock.timer.Timer(duration: Time, func: Callable)[исходный код]

Базовые классы: object

Таймер, отслеживающий заданную по времени продолжительность и выполняющий указанную функцию по окончании отчета.

property completed: bool

Проверяет, завершился ли таймер.

Результат:

True, если таймер завершен, иначе False.

duration: Time
prolong(additional_time: Time) → Timer[исходный код]

Увеличивает длительность таймера.

Параметры:

additional_time – Время, на которое нужно увеличить таймер.

Результат:

Объект таймера.

Исключение:

TypeError – Если additional_time не является объектом Time.

property remaining_time: Time

Возвращает оставшееся время.

Результат:

Оставшееся время в формате Time.

start() → Timer[исходный код]

Запускает таймер.

Результат:

Объект таймера.

stop() → Timer[исходный код]

Останавливает таймер.

Результат:

Объект таймера.

EJIO.utils.component.clock.virtual_clock module

class EJIO.utils.component.clock.virtual_clock.VirtualClock(start_time: Time | None = None)[исходный код]

Базовые классы: Clock

Виртуальные часы, отслеживают прошедшее время без привязки к системному.

get_time() → Time[исходный код]

Возвращает текущее виртуальное время.

Результат:

Объект Time, представляющий текущее время.

start() → Self[исходный код]

Запускает виртуальные часы.

Результат:

Сам объект для цепочки вызовов.

Исключение:

ClockError – Если часы уже запущены.

stop() → Self[исходный код]

Останавливает виртуальные часы.

Результат:

Сам объект для цепочки вызовов.

Исключение:

ClockError – Если часы не запущены.

Module contents

class EJIO.utils.component.clock.RealtimeClock[исходный код]

Базовые классы: Clock

Реальные часы, основаны на системном времени.

get_time() → Time[исходный код]

Получает текущее системное время.

Результат:

Объект Time со значением текущего времени.

class EJIO.utils.component.clock.Time(*, years: float = 0, days: float = 0, hours: float = 0, minutes: float = 0, seconds: float = 0, milliseconds: float = 0, microseconds: float = 0, nanoseconds: int = 0)[исходный код]

Базовые классы: object

Класс представляет промежуток времени с точностью до наносекунд. Можно форматировать и получать в разных единицах.

as_days() → int[исходный код]

Получить время в днях.

Результат:

Время в днях.

as_hours() → int[исходный код]

Получить время в часах.

Результат:

Время в часах.

as_microseconds() → int[исходный код]

Получить время в микросекундах.

Результат:

Время в микросекундах.

as_milliseconds() → int[исходный код]

Получить время в миллисекундах.

Результат:

Время в миллисекундах.

as_minutes() → int[исходный код]

Получить время в минутах.

Результат:

Время в минутах.

as_nanoseconds() → int[исходный код]

Получить время в наносекундах.

Результат:

Время в наносекундах.

as_seconds() → int[исходный код]

Получить время в секундах.

Результат:

Время в секундах.

as_years() → int[исходный код]

Получить время в годах.

Результат:

Время в годах.

format(fmt: str = '%Y:%j:%H:%M:%S:%f') → str[исходный код]

Форматирует время согласно шаблону.

%Y - Год %j - День %H - Часы %M - Минуты %S - Секунды %f - Микросекунды

Параметры:

fmt – Формат строки, по умолчанию „%Y:%j:%H:%M:%S:%f“.

Результат:

Отформатированная строка.

classmethod from_datetime(dt: datetime) → Time[исходный код]

Создает объект Time из объекта datetime.

Параметры:

dt – Объект datetime.

Результат:

Новый объект Time.

class EJIO.utils.component.clock.Timer(duration: Time, func: Callable)[исходный код]

Базовые классы: object

Таймер, отслеживающий заданную по времени продолжительность и выполняющий указанную функцию по окончании отчета.

property completed: bool

Проверяет, завершился ли таймер.

Результат:

True, если таймер завершен, иначе False.

duration: Time
prolong(additional_time: Time) → Timer[исходный код]

Увеличивает длительность таймера.

Параметры:

additional_time – Время, на которое нужно увеличить таймер.

Результат:

Объект таймера.

Исключение:

TypeError – Если additional_time не является объектом Time.

property remaining_time: Time

Возвращает оставшееся время.

Результат:

Оставшееся время в формате Time.

start() → Timer[исходный код]

Запускает таймер.

Результат:

Объект таймера.

stop() → Timer[исходный код]

Останавливает таймер.

Результат:

Объект таймера.

class EJIO.utils.component.clock.VirtualClock(start_time: Time | None = None)[исходный код]

Базовые классы: Clock

Виртуальные часы, отслеживают прошедшее время без привязки к системному.

get_time() → Time[исходный код]

Возвращает текущее виртуальное время.

Результат:

Объект Time, представляющий текущее время.

start() → Self[исходный код]

Запускает виртуальные часы.

Результат:

Сам объект для цепочки вызовов.

Исключение:

ClockError – Если часы уже запущены.

stop() → Self[исходный код]

Останавливает виртуальные часы.

Результат:

Сам объект для цепочки вызовов.

Исключение:

ClockError – Если часы не запущены.