qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] pylint: fix errors and warnings from qemu-tests test 297


From: Emanuele Giuseppe Esposito
Subject: Re: [PATCH 1/2] pylint: fix errors and warnings from qemu-tests test 297
Date: Thu, 7 Oct 2021 12:34:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1


The error is "C0330: Wrong hanging indentation"
so it is not about dicts. I guess we can disable the error, but the problem
is that we will disable it for the whole file, which doesn't seem right.

Actually, I would disable it globally in pylintrc because building
dictionaries for JSON is something that we do a lot.

But then I'm surprised that this is the only instance that actually
fails. I wonder what the difference is.

For example, 129 doesn't seem to be skipped and has this code:



     result = self.vm.qmp('blockdev-add', **{
                              'node-name': 'overlay',
                              'driver': iotests.imgfmt,
                              'file': {
                                  'driver': 'file',
                                  'filename': self.overlay_img
                              }
                          })

Yet you don't report a pylint error for this file.

Well, unless I am misunderstanding something... 129 *is* the file I am reporting. And that is exactly the function where pylint complains.


Oooh... I think I do see a difference: The final line is indented by one
space more in the case that fails for you. It should be vertically
aligned with the "'" in the first line, but it is actually aligned with
the "b" of "blockdev-add"

Does removing one space of indentation in the last line fix the report?

It's not only the final line, it's from "**{" till the ending ")".
'node-name' is under "ock" of 'blockdev-add'. It is clearly bad indented, regardless of the new style and pylint new rules.

Pylint itself suggests to move it 4 spaces more than "result =", ie 21 spaces before.

Still, applying your suggestion to all the lines and removing 1 space from all lines still does not make pylint happy, as it asks to remove 20 spaces.

To simplify things, this is the error I get:

 === pylint ===
+************* Module 129
+129:91:0: C0330: Wrong hanging indentation (remove 21 spaces).
+                                 'node-name': 'overlay',
+            |                    ^ (bad-continuation)
+129:92:0: C0330: Wrong hanging indentation (remove 21 spaces).
+                                 'driver': iotests.imgfmt,
+            |                    ^ (bad-continuation)
+129:93:0: C0330: Wrong hanging indentation (remove 21 spaces).
+                                 'file': {
+            |                    ^ (bad-continuation)
+129:97:0: C0330: Wrong hanging indentation.
+                             })
+        |   |                ^ (bad-continuation)

So unless you want to disable it overall, one way of fixing 129 is to follow what pylint suggests, and do like I wrote in the previous email:

Either:
        result = self.vm.qmp('blockdev-add', **{
            'node-name': 'overlay',             <-- 21 spaces less
            'driver': iotests.imgfmt,           <-- 21 spaces less
            'file': {                           <-- 21 spaces less
                'driver': 'file',               <-- 21 spaces less
                'filename': self.overlay_img    <-- 21 spaces less
            }                                   <-- 21 spaces less
        })                                      <-- 21 spaces less
        
or (difference is in the last line only):
        result = self.vm.qmp('blockdev-add', **{
            'node-name': 'overlay',             <-- 21 spaces less
            'driver': iotests.imgfmt,           <-- 21 spaces less
            'file': {                           <-- 21 spaces less
                'driver': 'file',               <-- 21 spaces less
                'filename': self.overlay_img    <-- 21 spaces less
            }})                                 <-- 21 spaces less
Emanuele




reply via email to

[Prev in Thread] Current Thread [Next in Thread]