mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 17:20:30 +08:00
refactoring
This commit is contained in:
parent
73263ebe82
commit
1f9e826f2f
@ -256,11 +256,11 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
|
|
||||||
async with self.__state.busy():
|
async with self.__state.busy():
|
||||||
assert self.__state.vd
|
assert self.__state.vd
|
||||||
self.__state_check_disconnected()
|
self.__STATE_check_disconnected()
|
||||||
|
|
||||||
if name is not None:
|
if name is not None:
|
||||||
if name:
|
if name:
|
||||||
self.__state.vd.image = self.__state_get_storage_image(name)
|
self.__state.vd.image = self.__STATE_get_storage_image(name)
|
||||||
else:
|
else:
|
||||||
self.__state.vd.image = None
|
self.__state.vd.image = None
|
||||||
|
|
||||||
@ -279,7 +279,7 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
async with self.__state.busy():
|
async with self.__state.busy():
|
||||||
assert self.__state.vd
|
assert self.__state.vd
|
||||||
if connected:
|
if connected:
|
||||||
self.__state_check_disconnected()
|
self.__STATE_check_disconnected()
|
||||||
|
|
||||||
if self.__state.vd.image is None:
|
if self.__state.vd.image is None:
|
||||||
raise MsdImageNotSelected()
|
raise MsdImageNotSelected()
|
||||||
@ -296,7 +296,7 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
self.__drive.set_image_path(self.__state.vd.image.path)
|
self.__drive.set_image_path(self.__state.vd.image.path)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.__state_check_connected()
|
self.__STATE_check_connected()
|
||||||
self.__drive.set_image_path("")
|
self.__drive.set_image_path("")
|
||||||
await self.__remount_rw(False, fatal=False)
|
await self.__remount_rw(False, fatal=False)
|
||||||
|
|
||||||
@ -309,8 +309,8 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
try:
|
try:
|
||||||
async with self.__state._lock: # pylint: disable=protected-access
|
async with self.__state._lock: # pylint: disable=protected-access
|
||||||
self.__notifier.notify()
|
self.__notifier.notify()
|
||||||
self.__state_check_disconnected()
|
self.__STATE_check_disconnected()
|
||||||
image = self.__state_get_storage_image(name)
|
image = self.__STATE_get_storage_image(name)
|
||||||
self.__reader = await MsdFileReader(
|
self.__reader = await MsdFileReader(
|
||||||
notifier=self.__notifier,
|
notifier=self.__notifier,
|
||||||
path=image.path,
|
path=image.path,
|
||||||
@ -330,12 +330,8 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
try:
|
try:
|
||||||
async with self.__state._lock: # pylint: disable=protected-access
|
async with self.__state._lock: # pylint: disable=protected-access
|
||||||
self.__notifier.notify()
|
self.__notifier.notify()
|
||||||
assert self.__state.storage
|
self.__STATE_check_disconnected()
|
||||||
self.__state_check_disconnected()
|
image = self.__STORAGE_create_new_image(name)
|
||||||
|
|
||||||
image = self.__storage.get_image_by_name(name)
|
|
||||||
if image.name in self.__state.storage.images or image.exists():
|
|
||||||
raise MsdImageExistsError()
|
|
||||||
|
|
||||||
await self.__remount_rw(True)
|
await self.__remount_rw(True)
|
||||||
image.set_complete(False)
|
image.set_complete(False)
|
||||||
@ -369,9 +365,8 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
async with self.__state.busy():
|
async with self.__state.busy():
|
||||||
assert self.__state.storage
|
assert self.__state.storage
|
||||||
assert self.__state.vd
|
assert self.__state.vd
|
||||||
self.__state_check_disconnected()
|
self.__STATE_check_disconnected()
|
||||||
|
image = self.__STATE_get_storage_image(name)
|
||||||
image = self.__state_get_storage_image(name)
|
|
||||||
|
|
||||||
if self.__state.vd.image == image:
|
if self.__state.vd.image == image:
|
||||||
self.__state.vd.image = None
|
self.__state.vd.image = None
|
||||||
@ -385,17 +380,17 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
|
|
||||||
# =====
|
# =====
|
||||||
|
|
||||||
def __state_check_connected(self) -> None:
|
def __STATE_check_connected(self) -> None: # pylint: disable=invalid-name
|
||||||
assert self.__state.vd
|
assert self.__state.vd
|
||||||
if not (self.__state.vd.connected or self.__drive.get_image_path()):
|
if not (self.__state.vd.connected or self.__drive.get_image_path()):
|
||||||
raise MsdDisconnectedError()
|
raise MsdDisconnectedError()
|
||||||
|
|
||||||
def __state_check_disconnected(self) -> None:
|
def __STATE_check_disconnected(self) -> None: # pylint: disable=invalid-name
|
||||||
assert self.__state.vd
|
assert self.__state.vd
|
||||||
if self.__state.vd.connected or self.__drive.get_image_path():
|
if self.__state.vd.connected or self.__drive.get_image_path():
|
||||||
raise MsdConnectedError()
|
raise MsdConnectedError()
|
||||||
|
|
||||||
def __state_get_storage_image(self, name: str) -> Image:
|
def __STATE_get_storage_image(self, name: str) -> Image: # pylint: disable=invalid-name
|
||||||
assert self.__state.storage
|
assert self.__state.storage
|
||||||
image = self.__state.storage.images.get(name)
|
image = self.__state.storage.images.get(name)
|
||||||
if image is None or not image.exists():
|
if image is None or not image.exists():
|
||||||
@ -403,6 +398,15 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
|
|||||||
assert image.in_storage
|
assert image.in_storage
|
||||||
return image
|
return image
|
||||||
|
|
||||||
|
def __STORAGE_create_new_image(self, name: str) -> Image: # pylint: disable=invalid-name
|
||||||
|
assert self.__state.storage
|
||||||
|
image = self.__storage.get_image_by_name(name)
|
||||||
|
if image.name in self.__state.storage.images or image.exists():
|
||||||
|
raise MsdImageExistsError()
|
||||||
|
return image
|
||||||
|
|
||||||
|
# =====
|
||||||
|
|
||||||
async def __close_reader(self) -> None:
|
async def __close_reader(self) -> None:
|
||||||
if self.__reader:
|
if self.__reader:
|
||||||
await self.__reader.close()
|
await self.__reader.close()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user