2828import sys
2929from warnings import warn
3030
31- import qubesadmin .tools
32- import qubesadmin .exc
31+ from qubesadmin .tools import QubesArgumentParser
32+ from qubesadmin .exc import QubesVMInUseError , QubesVMShutdownTimeoutError
33+ from qubesadmin .utils .shutdown import shutdown
34+ from qubesadmin .utils .kill import kill
3335
34- parser = qubesadmin .tools .QubesArgumentParser (
35- description = __doc__ , vmname_nargs = "+"
36- )
36+ parser = QubesArgumentParser (description = __doc__ , vmname_nargs = "+" )
3737
3838parser .add_argument (
3939 "--wait" ,
6767)
6868
6969
70- async def shutdown (domains , ** shutdown_kwargs ):
70+ async def shutdown_group_exc (domains , ** shutdown_kwargs ):
7171 # pylint: disable=missing-function-docstring
72- failed = await qubesadmin . utils . shutdown (domains = domains , ** shutdown_kwargs )
72+ failed = await shutdown (domains = domains , ** shutdown_kwargs )
7373 used = {
7474 qube : exc
7575 for qube , exc in failed .items ()
76- if isinstance (exc , qubesadmin . exc . QubesVMInUseError )
76+ if isinstance (exc , QubesVMInUseError )
7777 }
7878 timedout = {
7979 qube : exc
8080 for qube , exc in failed .items ()
81- if isinstance (exc , qubesadmin . exc . QubesVMShutdownTimeoutError )
81+ if isinstance (exc , QubesVMShutdownTimeoutError )
8282 }
8383 unhandled = {
8484 qube : exc
@@ -105,7 +105,7 @@ async def run_async(args=None, app=None):
105105 "wait" : args .wait ,
106106 }
107107
108- unhandled , used , timedout = await shutdown (
108+ unhandled , used , timedout = await shutdown_group_exc (
109109 domains = args .domains , ** shutdown_kwargs
110110 )
111111 unhandled_retry = {}
@@ -123,7 +123,7 @@ async def run_async(args=None, app=None):
123123 ", " .join (qube .name for qube in used )
124124 )
125125 )
126- failed = await shutdown (domains = used , ** shutdown_kwargs )
126+ failed = await shutdown_group_exc (domains = used , ** shutdown_kwargs )
127127 unhandled_retry , used , timedout_retry = failed
128128 if not failed :
129129 break
@@ -144,7 +144,7 @@ async def run_async(args=None, app=None):
144144 ", " .join (qube .name for qube in timedout )
145145 )
146146 )
147- unhandled , used , timedout = await shutdown (
147+ unhandled , used , timedout = await shutdown_group_exc (
148148 domains = timedout , ** shutdown_kwargs
149149 )
150150
@@ -154,7 +154,7 @@ async def run_async(args=None, app=None):
154154 ", " .join (qube .name for qube in timedout )
155155 )
156156 )
157- timedout = await qubesadmin . utils . kill (domains = timedout )
157+ timedout = await kill (domains = timedout )
158158
159159 for item in [unhandled , used , timedout ]:
160160 for qube , exc in item .items ():
0 commit comments