Мы переехали на https://codeberg.org/KOLANICH-libs/NoSuspend.py, скачивайте новые версии там.
Под прикрытием «более высокой безопасности» GitHub, принадлежащий Micro$oft, дискриминирует пользователей паролей 1FA, имея при этом коммерческую заинтересованность в успехе и широком внедрении спецификаций FIDO 1FA и реализации Windows Hello, которую он продвигает в качестве замены паролей. Это приведет к тяжелым последствиям и совершенно неприемлемо, читайте почему.
Если вы не хотите участвовать во вреде себе, рекомендуется последовать примеру и мигрировать куда-нибудь подальше от GitHub и Micro$oft. Вот список альтернатив и обоснований для этого. Если они удалят обсуждение, есть определенные известные места, где вы можете получить его копию. Прочтите, почему вам также следует покинуть GitHub.
Это библиотека, предотвращающая переход системы в режим энергосбережения, например ACPI S1-4.
python3-dbus
и некоторые программы, предоставляющие используемые интерфейсы D-Bus. from NoSuspend import *
with NoSuspend ():
doLongWork ()
Вы можете предоставить дополнительные аргументы в зависимости от платформы:
в Windows вы можете указать дополнительные параметры, например, чтобы экран оставался включенным
with NoSuspend(suspend=True, display=True, hidden=False, inherit=True):
doLongWork()
with NoSuspend ( suspend = True , display = False , hidden = False , appName = "MySuperApp" , reason = "doing long work..." ):
doLongWork ()
with NoSuspend () as state :
print ( state )
в Windows вы можете просто получить его, используя
print ( NoSuspend . getCurrentState ())
EXECUTION_STATE.CONTINUOUS | EXECUTION_STATE.SYSTEM_REQUIRED
(соответствует suspend=True
), как и ожидалось. Существует 2 режима наследования: print ( NoSuspend . getCurrentState ())
with NoSuspend () as state1 :
print ( state1 , NoSuspend . getCurrentState ())
with NoSuspend ( display = True , inherit = False ) as state2 : # the default one, replaces the state
print ( state2 , NoSuspend . getCurrentState ())
print ( NoSuspend . getCurrentState ())
print ( NoSuspend . getCurrentState ())
with NoSuspend () as state1 :
print ( state1 , NoSuspend . getCurrentState ())
with NoSuspend ( EXECUTION_STATE . DISPLAY_REQUIRED , inherit = True ) as state2 : # adds flags to the state
print ( state2 , NoSuspend . getCurrentState ())
print ( NoSuspend . getCurrentState ())
Также доступен консольный интерфейс.
python3 -m NoSuspend echo a
NoSuspend echo a
caffeinate echo a