mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 00:51:53 +08:00
sync atx api
This commit is contained in:
@@ -59,27 +59,27 @@ class BaseAtx(BasePlugin):
|
||||
|
||||
# =====
|
||||
|
||||
async def power_on(self) -> bool:
|
||||
async def power_on(self, wait: bool) -> bool:
|
||||
raise NotImplementedError
|
||||
|
||||
async def power_off(self) -> bool:
|
||||
async def power_off(self, wait: bool) -> bool:
|
||||
raise NotImplementedError
|
||||
|
||||
async def power_off_hard(self) -> bool:
|
||||
async def power_off_hard(self, wait: bool) -> bool:
|
||||
raise NotImplementedError
|
||||
|
||||
async def power_reset_hard(self) -> bool:
|
||||
async def power_reset_hard(self, wait: bool) -> bool:
|
||||
raise NotImplementedError
|
||||
|
||||
# =====
|
||||
|
||||
async def click_power(self) -> None:
|
||||
async def click_power(self, wait: bool) -> None:
|
||||
raise NotImplementedError
|
||||
|
||||
async def click_power_long(self) -> None:
|
||||
async def click_power_long(self, wait: bool) -> None:
|
||||
raise NotImplementedError
|
||||
|
||||
async def click_reset(self) -> None:
|
||||
async def click_reset(self, wait: bool) -> None:
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
|
||||
@@ -54,25 +54,12 @@ class Plugin(BaseAtx):
|
||||
|
||||
# =====
|
||||
|
||||
async def power_on(self) -> bool:
|
||||
async def __stub_power(self, wait: bool) -> bool:
|
||||
raise AtxDisabledError()
|
||||
|
||||
async def power_off(self) -> bool:
|
||||
power_on = power_off = power_off_hard = power_reset_hard = __stub_power
|
||||
|
||||
async def __stub_click(self, wait: bool) -> None:
|
||||
raise AtxDisabledError()
|
||||
|
||||
async def power_off_hard(self) -> bool:
|
||||
raise AtxDisabledError()
|
||||
|
||||
async def power_reset_hard(self) -> bool:
|
||||
raise AtxDisabledError()
|
||||
|
||||
# =====
|
||||
|
||||
async def click_power(self) -> None:
|
||||
raise AtxDisabledError()
|
||||
|
||||
async def click_power_long(self) -> None:
|
||||
raise AtxDisabledError()
|
||||
|
||||
async def click_reset(self) -> None:
|
||||
raise AtxDisabledError()
|
||||
click_power = click_power_long = click_reset = __stub_click
|
||||
|
||||
@@ -130,40 +130,40 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
|
||||
|
||||
# =====
|
||||
|
||||
async def power_on(self) -> bool:
|
||||
async def power_on(self, wait: bool) -> bool:
|
||||
if not (await self.__get_power()):
|
||||
await self.click_power()
|
||||
await self.click_power(wait)
|
||||
return True
|
||||
return False
|
||||
|
||||
async def power_off(self) -> bool:
|
||||
async def power_off(self, wait: bool) -> bool:
|
||||
if (await self.__get_power()):
|
||||
await self.click_power()
|
||||
await self.click_power(wait)
|
||||
return True
|
||||
return False
|
||||
|
||||
async def power_off_hard(self) -> bool:
|
||||
async def power_off_hard(self, wait: bool) -> bool:
|
||||
if (await self.__get_power()):
|
||||
await self.click_power_long()
|
||||
await self.click_power_long(wait)
|
||||
return True
|
||||
return False
|
||||
|
||||
async def power_reset_hard(self) -> bool:
|
||||
async def power_reset_hard(self, wait: bool) -> bool:
|
||||
if (await self.__get_power()):
|
||||
await self.click_reset()
|
||||
await self.click_reset(wait)
|
||||
return True
|
||||
return False
|
||||
|
||||
# =====
|
||||
|
||||
async def click_power(self) -> None:
|
||||
await self.__click("power", self.__power_switch_pin, self.__click_delay)
|
||||
async def click_power(self, wait: bool) -> None:
|
||||
await self.__click("power", self.__power_switch_pin, self.__click_delay, wait)
|
||||
|
||||
async def click_power_long(self) -> None:
|
||||
await self.__click("power_long", self.__power_switch_pin, self.__long_click_delay)
|
||||
async def click_power_long(self, wait: bool) -> None:
|
||||
await self.__click("power_long", self.__power_switch_pin, self.__long_click_delay, wait)
|
||||
|
||||
async def click_reset(self) -> None:
|
||||
await self.__click("reset", self.__reset_switch_pin, self.__click_delay)
|
||||
async def click_reset(self, wait: bool) -> None:
|
||||
await self.__click("reset", self.__reset_switch_pin, self.__click_delay, wait)
|
||||
|
||||
# =====
|
||||
|
||||
@@ -171,11 +171,15 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
|
||||
return (await self.get_state())["leds"]["power"]
|
||||
|
||||
@aiotools.atomic
|
||||
async def __click(self, name: str, pin: int, delay: float) -> None:
|
||||
await aiotools.run_region_task(
|
||||
"Can't perform ATX click or operation was not completed",
|
||||
self.__region, self.__inner_click, name, pin, delay,
|
||||
)
|
||||
async def __click(self, name: str, pin: int, delay: float, wait: bool) -> None:
|
||||
if wait:
|
||||
async with self.__region:
|
||||
await self.__inner_click(name, pin, delay)
|
||||
else:
|
||||
await aiotools.run_region_task(
|
||||
"Can't perform ATX click or operation was not completed",
|
||||
self.__region, self.__inner_click, name, pin, delay,
|
||||
)
|
||||
|
||||
@aiotools.atomic
|
||||
async def __inner_click(self, name: str, pin: int, delay: float) -> None:
|
||||
|
||||
Reference in New Issue
Block a user