[PATCH v2 08/25] python/qmp: switch qom tools to AQMP

John Snow posted 25 patches 4 years ago
Maintainers: Kevin Wolf <kwolf@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Hanna Reitz <hreitz@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>, Cleber Rosa <crosa@redhat.com>, John Snow <jsnow@redhat.com>, Markus Armbruster <armbru@redhat.com>
There is a newer version of this series
[PATCH v2 08/25] python/qmp: switch qom tools to AQMP
Posted by John Snow 4 years ago
Signed-off-by: John Snow <jsnow@redhat.com>
---
 python/qemu/qmp/qom.py        |  5 +++--
 python/qemu/qmp/qom_common.py |  3 ++-
 python/qemu/qmp/qom_fuse.py   | 11 ++++++-----
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/python/qemu/qmp/qom.py b/python/qemu/qmp/qom.py
index 8ff28a8343..bb5d1a78f5 100644
--- a/python/qemu/qmp/qom.py
+++ b/python/qemu/qmp/qom.py
@@ -32,7 +32,8 @@
 
 import argparse
 
-from . import QMPResponseError
+from qemu.aqmp import ExecuteError
+
 from .qom_common import QOMCommand
 
 
@@ -233,7 +234,7 @@ def _list_node(self, path: str) -> None:
                 rsp = self.qmp.command('qom-get', path=path,
                                        property=item.name)
                 print(f"  {item.name}: {rsp} ({item.type})")
-            except QMPResponseError as err:
+            except ExecuteError as err:
                 print(f"  {item.name}: <EXCEPTION: {err!s}> ({item.type})")
         print('')
         for item in items:
diff --git a/python/qemu/qmp/qom_common.py b/python/qemu/qmp/qom_common.py
index a59ae1a2a1..6f07451dfa 100644
--- a/python/qemu/qmp/qom_common.py
+++ b/python/qemu/qmp/qom_common.py
@@ -27,7 +27,8 @@
     TypeVar,
 )
 
-from . import QEMUMonitorProtocol, QMPError
+from qemu.aqmp import QMPError
+from qemu.aqmp.legacy import QEMUMonitorProtocol
 
 
 # The following is needed only for a type alias.
diff --git a/python/qemu/qmp/qom_fuse.py b/python/qemu/qmp/qom_fuse.py
index 43f4671fdb..653a76b93b 100644
--- a/python/qemu/qmp/qom_fuse.py
+++ b/python/qemu/qmp/qom_fuse.py
@@ -48,7 +48,8 @@
 import fuse
 from fuse import FUSE, FuseOSError, Operations
 
-from . import QMPResponseError
+from qemu.aqmp import ExecuteError
+
 from .qom_common import QOMCommand
 
 
@@ -99,7 +100,7 @@ def is_object(self, path: str) -> bool:
         try:
             self.qom_list(path)
             return True
-        except QMPResponseError:
+        except ExecuteError:
             return False
 
     def is_property(self, path: str) -> bool:
@@ -112,7 +113,7 @@ def is_property(self, path: str) -> bool:
                 if item.name == prop:
                     return True
             return False
-        except QMPResponseError:
+        except ExecuteError:
             return False
 
     def is_link(self, path: str) -> bool:
@@ -125,7 +126,7 @@ def is_link(self, path: str) -> bool:
                 if item.name == prop and item.link:
                     return True
             return False
-        except QMPResponseError:
+        except ExecuteError:
             return False
 
     def read(self, path: str, size: int, offset: int, fh: IO[bytes]) -> bytes:
@@ -138,7 +139,7 @@ def read(self, path: str, size: int, offset: int, fh: IO[bytes]) -> bytes:
         try:
             data = str(self.qmp.command('qom-get', path=path, property=prop))
             data += '\n'  # make values shell friendly
-        except QMPResponseError as err:
+        except ExecuteError as err:
             raise FuseOSError(EPERM) from err
 
         if offset > len(data):
-- 
2.31.1


Re: [PATCH v2 08/25] python/qmp: switch qom tools to AQMP
Posted by Vladimir Sementsov-Ogievskiy 4 years ago
15.12.2021 22:39, John Snow wrote:
> Signed-off-by: John Snow<jsnow@redhat.com>

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

-- 
Best regards,
Vladimir

Re: [PATCH v2 08/25] python/qmp: switch qom tools to AQMP
Posted by Beraldo Leal 4 years ago
On Wed, Dec 15, 2021 at 02:39:22PM -0500, John Snow wrote:
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>  python/qemu/qmp/qom.py        |  5 +++--
>  python/qemu/qmp/qom_common.py |  3 ++-
>  python/qemu/qmp/qom_fuse.py   | 11 ++++++-----
>  3 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/python/qemu/qmp/qom.py b/python/qemu/qmp/qom.py
> index 8ff28a8343..bb5d1a78f5 100644
> --- a/python/qemu/qmp/qom.py
> +++ b/python/qemu/qmp/qom.py
> @@ -32,7 +32,8 @@
>  
>  import argparse
>  
> -from . import QMPResponseError
> +from qemu.aqmp import ExecuteError
> +
>  from .qom_common import QOMCommand
>  
>  
> @@ -233,7 +234,7 @@ def _list_node(self, path: str) -> None:
>                  rsp = self.qmp.command('qom-get', path=path,
>                                         property=item.name)
>                  print(f"  {item.name}: {rsp} ({item.type})")
> -            except QMPResponseError as err:
> +            except ExecuteError as err:
>                  print(f"  {item.name}: <EXCEPTION: {err!s}> ({item.type})")
>          print('')
>          for item in items:
> diff --git a/python/qemu/qmp/qom_common.py b/python/qemu/qmp/qom_common.py
> index a59ae1a2a1..6f07451dfa 100644
> --- a/python/qemu/qmp/qom_common.py
> +++ b/python/qemu/qmp/qom_common.py
> @@ -27,7 +27,8 @@
>      TypeVar,
>  )
>  
> -from . import QEMUMonitorProtocol, QMPError
> +from qemu.aqmp import QMPError
> +from qemu.aqmp.legacy import QEMUMonitorProtocol
>  
>  
>  # The following is needed only for a type alias.
> diff --git a/python/qemu/qmp/qom_fuse.py b/python/qemu/qmp/qom_fuse.py
> index 43f4671fdb..653a76b93b 100644
> --- a/python/qemu/qmp/qom_fuse.py
> +++ b/python/qemu/qmp/qom_fuse.py
> @@ -48,7 +48,8 @@
>  import fuse
>  from fuse import FUSE, FuseOSError, Operations
>  
> -from . import QMPResponseError
> +from qemu.aqmp import ExecuteError
> +
>  from .qom_common import QOMCommand
>  
>  
> @@ -99,7 +100,7 @@ def is_object(self, path: str) -> bool:
>          try:
>              self.qom_list(path)
>              return True
> -        except QMPResponseError:
> +        except ExecuteError:
>              return False
>  
>      def is_property(self, path: str) -> bool:
> @@ -112,7 +113,7 @@ def is_property(self, path: str) -> bool:
>                  if item.name == prop:
>                      return True
>              return False
> -        except QMPResponseError:
> +        except ExecuteError:
>              return False
>  
>      def is_link(self, path: str) -> bool:
> @@ -125,7 +126,7 @@ def is_link(self, path: str) -> bool:
>                  if item.name == prop and item.link:
>                      return True
>              return False
> -        except QMPResponseError:
> +        except ExecuteError:
>              return False
>  
>      def read(self, path: str, size: int, offset: int, fh: IO[bytes]) -> bytes:
> @@ -138,7 +139,7 @@ def read(self, path: str, size: int, offset: int, fh: IO[bytes]) -> bytes:
>          try:
>              data = str(self.qmp.command('qom-get', path=path, property=prop))
>              data += '\n'  # make values shell friendly
> -        except QMPResponseError as err:
> +        except ExecuteError as err:
>              raise FuseOSError(EPERM) from err
>  
>          if offset > len(data):

Reviewed-by: Beraldo Leal <bleal@redhat.com>

--
Beraldo