qcow2_format.py: QcowHeaderExtension: add dump method
Obviously, for-loop body in dump_extensions should be the dump method of extension. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> Message-Id: <20200606081806.23897-11-vsementsov@virtuozzo.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
860543f055
commit
0931fcc7be
@ -108,6 +108,17 @@ class QcowHeaderExtension:
|
||||
self.length = length
|
||||
self.data = data
|
||||
|
||||
def dump(self):
|
||||
data = self.data[:self.length]
|
||||
if all(c in string.printable.encode('ascii') for c in data):
|
||||
data = f"'{ data.decode('ascii') }'"
|
||||
else:
|
||||
data = '<binary>'
|
||||
|
||||
print(f'{"magic":<25} {self.magic:#x}')
|
||||
print(f'{"length":<25} {self.length}')
|
||||
print(f'{"data":<25} {data}')
|
||||
|
||||
@classmethod
|
||||
def create(cls, magic, data):
|
||||
return QcowHeaderExtension(magic, len(data), data)
|
||||
@ -210,15 +221,6 @@ class QcowHeader(Qcow2Struct):
|
||||
|
||||
def dump_extensions(self):
|
||||
for ex in self.extensions:
|
||||
|
||||
data = ex.data[:ex.length]
|
||||
if all(c in string.printable.encode('ascii') for c in data):
|
||||
data = f"'{ data.decode('ascii') }'"
|
||||
else:
|
||||
data = '<binary>'
|
||||
|
||||
print('Header extension:')
|
||||
print(f'{"magic":<25} {ex.magic:#x}')
|
||||
print(f'{"length":<25} {ex.length}')
|
||||
print(f'{"data":<25} {data}')
|
||||
ex.dump()
|
||||
print()
|
||||
|
Loading…
Reference in New Issue
Block a user