On 7/23/20 10:27 AM, Markus Armbruster wrote:
Commit c7b942d7f8 "scripts/qmp: Fix shebang and imports" messed with
it for reasons I don't quite understand. I do understand how it fails
now: it neglects to import sys. Fix that.
Apologies. These scripts didn't appear to work because they don't have
any clue where the script they are trying to import lives. I was working
on a series that refactored ./python/qemu into a python package.
The back half of that series hasn't landed upstream yet, so the import
refuddling looks an awful lot more arbitrary at the moment, but the idea
is that the scripts SHOULD work without needing to explicitly set your
PYTHONPATH. For the moment, I think that's better.
My ultimate end-game is to get most python scripts under ./python/ and
checked with pylint/mypy etc. as it will help detect breaking changes if
library routines change. I want to institute a tree-wide regime for
python code management that has a unified vision about how imports work
and so on.
I would hope that this would reduce confusion in the future about how to
execute scripts, how to write import statements, etc.
Most of what I am doing is baby steps towards that.
It now fails because it expects an old version of module fuse. That's
next.
See also my commit message: "There's more wrong with these scripts; ..."
Fixes: c7b942d7f84ef54f266921bf7668d43f1f2c7c79
Signed-off-by: Markus Armbruster <arm...@redhat.com>
Thanks:
Reviewed-by: John Snow <js...@redhat.com>
---
scripts/qmp/qom-fuse | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/qmp/qom-fuse b/scripts/qmp/qom-fuse
index 5fa6b3bf64..b7dabe8d65 100755
--- a/scripts/qmp/qom-fuse
+++ b/scripts/qmp/qom-fuse
@@ -13,7 +13,7 @@
import fuse, stat
from fuse import Fuse
-import os, posix
+import os, posix, sys
from errno import *
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
@@ -134,7 +134,7 @@ class QOMFS(Fuse):
yield fuse.Direntry(str(item['name']))
if __name__ == '__main__':
- import sys, os
+ import os
fs = QOMFS(QEMUMonitorProtocol(os.environ['QMP_SOCKET']))
fs.main(sys.argv)