qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: Cleber Rosa <crosa@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	qemu-block@nongnu.org, qemu-trivial@nongnu.org,
	Riku Voipio <riku.voipio@iki.fi>,
	Michael Tokarev <mjt@tls.msk.ru>,
	Laurent Vivier <laurent@vivier.eu>, Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH 09/10] scripts/qemu.py: use a more consistent docstring style
Date: Mon, 8 Oct 2018 15:44:14 -0400	[thread overview]
Message-ID: <b590e7a3-c0e8-f39b-8a9b-b56d4804a6bc@redhat.com> (raw)
In-Reply-To: <20181004161852.11673-10-crosa@redhat.com>



On 10/04/2018 12:18 PM, Cleber Rosa wrote:
> Signed-off-by: Cleber Rosa <crosa@redhat.com>
> ---
>  dtc             |  2 +-
>  scripts/qemu.py | 65 +++++++++++++++++++++++++++++++------------------
>  2 files changed, 42 insertions(+), 25 deletions(-)
> 
> diff --git a/dtc b/dtc
> index 88f18909db..e54388015a 160000
> --- a/dtc
> +++ b/dtc
> @@ -1 +1 @@
> -Subproject commit 88f18909db731a627456f26d779445f84e449536
> +Subproject commit e54388015af1fb4bf04d0bca99caba1074d9cc42
> diff --git a/scripts/qemu.py b/scripts/qemu.py
> index f099ce7278..7abe26de69 100644
> --- a/scripts/qemu.py
> +++ b/scripts/qemu.py
> @@ -53,9 +53,9 @@ class QEMUMachineAddDeviceError(QEMUMachineError):
>      """
>  
>  class MonitorResponseError(qmp.qmp.QMPError):
> -    '''
> +    """
>      Represents erroneous QMP monitor reply
> -    '''
> +    """

This seems obviously correct, as per the Python Dogma Handbook ...

>      def __init__(self, reply):
>          try:
>              desc = reply["error"]["desc"]
> @@ -66,14 +66,15 @@ class MonitorResponseError(qmp.qmp.QMPError):
>  
>  
>  class QEMUMachine(object):
> -    '''A QEMU VM
> +    """
> +    A QEMU VM
>  
>      Use this object as a context manager to ensure the QEMU process terminates::
>  
>          with VM(binary) as vm:
>              ...
>          # vm is guaranteed to be shut down here
> -    '''
> +    """

As does this,,

>  
>      def __init__(self, binary, args=None, wrapper=None, name=None,
>                   test_dir="/var/tmp", monitor_address=None,
> @@ -135,7 +136,9 @@ class QEMUMachine(object):
>          self._args.append(args)
>  
>      def add_fd(self, fd, fdset, opaque, opts=''):
> -        '''Pass a file descriptor to the VM'''
> +        """
> +        Pass a file descriptor to the VM
> +        """

However, is it established practice among ne'er-do-wells to format
one-line docstrings as three-liners? (And without punctuation to boot --
for shame!)

PEP257 suggests that one-liners are allowed, but doesn't seem to
necessitate their usage. Does this kind of change have any kind of benefit?

>          options = ['fd=%d' % fd,
>                     'set=%d' % fdset,
>                     'opaque=%s' % opaque]
> @@ -168,7 +171,9 @@ class QEMUMachine(object):
>  
>      @staticmethod
>      def _remove_if_exists(path):
> -        '''Remove file object at path if it exists'''
> +        """
> +        Remove file object at path if it exists
> +        """
>          try:
>              os.remove(path)
>          except OSError as exception:
> @@ -271,7 +276,9 @@ class QEMUMachine(object):
>              raise
>  
>      def _launch(self):
> -        '''Launch the VM and establish a QMP connection'''
> +        """
> +        Launch the VM and establish a QMP connection
> +        """
>          devnull = open(os.path.devnull, 'rb')
>          self._pre_launch()
>          self._qemu_full_args = (self._wrapper + [self._binary] +
> @@ -284,14 +291,18 @@ class QEMUMachine(object):
>          self._post_launch()
>  
>      def wait(self):
> -        '''Wait for the VM to power off'''
> +        """
> +        Wait for the VM to power off
> +        """
>          self._popen.wait()
>          self._qmp.close()
>          self._load_io_log()
>          self._post_shutdown()
>  
>      def shutdown(self):
> -        '''Terminate the VM and clean up'''
> +        """
> +        Terminate the VM and clean up
> +        """
>          if self.is_running():
>              try:
>                  self._qmp.cmd('quit')
> @@ -315,7 +326,9 @@ class QEMUMachine(object):
>          self._launched = False
>  
>      def qmp(self, cmd, conv_keys=True, **args):
> -        '''Invoke a QMP command and return the response dict'''
> +        """
> +        Invoke a QMP command and return the response dict
> +        """
>          qmp_args = dict()
>          for key, value in args.items():
>              if conv_keys:
> @@ -326,11 +339,11 @@ class QEMUMachine(object):
>          return self._qmp.cmd(cmd, args=qmp_args)
>  
>      def command(self, cmd, conv_keys=True, **args):
> -        '''
> +        """
>          Invoke a QMP command.
>          On success return the response dict.
>          On failure raise an exception.
> -        '''
> +        """
>          reply = self.qmp(cmd, conv_keys, **args)
>          if reply is None:
>              raise qmp.qmp.QMPError("Monitor is closed")
> @@ -339,13 +352,17 @@ class QEMUMachine(object):
>          return reply["return"]
>  
>      def get_qmp_event(self, wait=False):
> -        '''Poll for one queued QMP events and return it'''
> +        """
> +        Poll for one queued QMP events and return it
> +        """
>          if len(self._events) > 0:
>              return self._events.pop(0)
>          return self._qmp.pull_event(wait=wait)
>  
>      def get_qmp_events(self, wait=False):
> -        '''Poll for queued QMP events and return a list of dicts'''
> +        """
> +        Poll for queued QMP events and return a list of dicts
> +        """
>          events = self._qmp.get_events(wait=wait)
>          events.extend(self._events)
>          del self._events[:]
> @@ -353,7 +370,7 @@ class QEMUMachine(object):
>          return events
>  
>      def event_wait(self, name, timeout=60.0, match=None):
> -        '''
> +        """
>          Wait for specified timeout on named event in QMP; optionally filter
>          results by match.
>  
> @@ -361,7 +378,7 @@ class QEMUMachine(object):
>          branch processing on match's value None
>             {"foo": {"bar": 1}} matches {"foo": None}
>             {"foo": {"bar": 1}} does not matches {"foo": {"baz": None}}
> -        '''
> +        """
>          def event_match(event, match=None):
>              if match is None:
>                  return True
> @@ -394,29 +411,29 @@ class QEMUMachine(object):
>          return None
>  
>      def get_log(self):
> -        '''
> +        """
>          After self.shutdown or failed qemu execution, this returns the output
>          of the qemu process.
> -        '''
> +        """
>          return self._iolog
>  
>      def add_args(self, *args):
> -        '''
> +        """
>          Adds to the list of extra arguments to be given to the QEMU binary
> -        '''
> +        """
>          self._args.extend(args)
>  
>      def set_machine(self, machine_type):
> -        '''
> +        """
>          Sets the machine type
>  
>          If set, the machine type will be added to the base arguments
>          of the resulting QEMU command line.
> -        '''
> +        """
>          self._machine = machine_type
>  
>      def set_console(self, device_type=None):
> -        '''
> +        """
>          Sets the device type for a console device
>  
>          If set, the console device and a backing character device will
> @@ -434,7 +451,7 @@ class QEMUMachine(object):
>          @param device_type: the device type, such as "isa-serial"
>          @raises: QEMUMachineAddDeviceError if the device type is not given
>                   and can not be determined.
> -        '''
> +        """
>          if device_type is None:
>              if self._machine is None:
>                  raise QEMUMachineAddDeviceError("Can not add a console device:"
> 

  parent reply	other threads:[~2018-10-08 19:44 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-04 16:18 [Qemu-devel] [PATCH 00/10] Trivial fixes and clean ups Cleber Rosa
2018-10-04 16:18 ` [Qemu-devel] [PATCH 01/10] qemu-img.c: comment typo fix Cleber Rosa
2018-10-04 16:48   ` Eric Blake
2018-10-04 16:53     ` Cleber Rosa
2018-10-05 13:31       ` Philippe Mathieu-Daudé
2018-10-05 13:40     ` Peter Maydell
2018-10-04 16:18 ` [Qemu-devel] [PATCH 02/10] tests/tcg/README: fix location for lm32 tests Cleber Rosa
2018-10-05  6:41   ` Thomas Huth
2018-10-05 13:51   ` Alex Bennée
2018-10-25 13:55   ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
2018-10-04 16:18 ` [Qemu-devel] [PATCH 03/10] qemu-iotests: make 218 executable Cleber Rosa
2018-10-04 16:48   ` Eric Blake
2018-10-05 13:36   ` Philippe Mathieu-Daudé
2018-10-05 17:49     ` Cleber Rosa
2018-10-05 18:02       ` Eric Blake
2018-10-05 18:19         ` Eric Blake
2018-10-25 13:57   ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
2018-10-04 16:18 ` [Qemu-devel] [PATCH 04/10] qemu-iotests: fix filename containing checks Cleber Rosa
2018-10-05 13:38   ` Philippe Mathieu-Daudé
2018-10-25 13:56   ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
2018-10-04 16:18 ` [Qemu-devel] [PATCH 05/10] docs/devel/testing.rst: add missing newlines after code block Cleber Rosa
2018-10-08 19:49   ` [Qemu-devel] [Qemu-block] " John Snow
2018-10-25 13:59   ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
2018-10-04 16:18 ` [Qemu-devel] [PATCH 06/10] thunk.c: clean up commented out definition Cleber Rosa
2018-10-04 16:24   ` Laurent Vivier
2018-10-04 16:31     ` Cleber Rosa
2018-10-04 16:36       ` Laurent Vivier
2018-10-04 16:18 ` [Qemu-devel] [PATCH 07/10] scripts/decodetree.py: remove unused imports Cleber Rosa
2018-10-05 13:39   ` Philippe Mathieu-Daudé
2018-10-25 13:59   ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
2018-10-04 16:18 ` [Qemu-devel] [PATCH 08/10] scripts/decodetree.py: fix reference to attributes Cleber Rosa
2018-10-05 13:40   ` Philippe Mathieu-Daudé
2018-10-04 16:18 ` [Qemu-devel] [PATCH 09/10] scripts/qemu.py: use a more consistent docstring style Cleber Rosa
2018-10-04 16:50   ` Eric Blake
2018-10-04 16:53     ` Cleber Rosa
2018-10-08 19:44   ` John Snow [this message]
2018-10-26 15:25     ` [Qemu-devel] [Qemu-block] " Eduardo Habkost
2018-10-04 16:18 ` [Qemu-devel] [PATCH 10/10] scripts/qemu.py: remove trailing quotes on docstring Cleber Rosa
2018-10-05 13:41   ` Philippe Mathieu-Daudé
2018-10-25 14:00   ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
2018-10-26 15:27 ` [Qemu-devel] [PATCH 00/10] Trivial fixes and clean ups Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b590e7a3-c0e8-f39b-8a9b-b56d4804a6bc@redhat.com \
    --to=jsnow@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=mjt@tls.msk.ru \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).