parent
544870f1ad
commit
8f92250665
@ -73,6 +73,7 @@ class PropertyHolder(object):
|
|||||||
# drop last field because of terminating '\x00'
|
# drop last field because of terminating '\x00'
|
||||||
args = [arg.decode() for arg in args.split(b'\x00')[:-1]]
|
args = [arg.decode() for arg in args.split(b'\x00')[:-1]]
|
||||||
format_string = format_string.decode('utf-8')
|
format_string = format_string.decode('utf-8')
|
||||||
|
exc_type = exc_type.decode('ascii')
|
||||||
exc_class = getattr(qubesmgmt.exc, exc_type, 'QubesException')
|
exc_class = getattr(qubesmgmt.exc, exc_type, 'QubesException')
|
||||||
# TODO: handle traceback if given
|
# TODO: handle traceback if given
|
||||||
raise exc_class(format_string, *args)
|
raise exc_class(format_string, *args)
|
||||||
@ -87,7 +88,7 @@ class PropertyHolder(object):
|
|||||||
self._method_prefix + 'List',
|
self._method_prefix + 'List',
|
||||||
None,
|
None,
|
||||||
None)
|
None)
|
||||||
self._properties = properties_str.splitlines()
|
self._properties = properties_str.decode('ascii').splitlines()
|
||||||
# TODO: make it somehow immutable
|
# TODO: make it somehow immutable
|
||||||
return self._properties
|
return self._properties
|
||||||
|
|
||||||
@ -114,9 +115,10 @@ class PropertyHolder(object):
|
|||||||
self._method_prefix + 'Get',
|
self._method_prefix + 'Get',
|
||||||
item,
|
item,
|
||||||
None)
|
None)
|
||||||
(_default, value) = property_str.split(' ', 1)
|
(_default, value) = property_str.split(b' ', 1)
|
||||||
|
value = value.decode()
|
||||||
if value[0] == '\'':
|
if value[0] == '\'':
|
||||||
return ast.literal_eval('b' + value)
|
return ast.literal_eval('u' + value)
|
||||||
else:
|
else:
|
||||||
return ast.literal_eval(value)
|
return ast.literal_eval(value)
|
||||||
|
|
||||||
@ -137,7 +139,7 @@ class PropertyHolder(object):
|
|||||||
self._method_dest,
|
self._method_dest,
|
||||||
self._method_prefix + 'Set',
|
self._method_prefix + 'Set',
|
||||||
key,
|
key,
|
||||||
bytes(value))
|
str(value).encode('utf-8'))
|
||||||
|
|
||||||
def __delattr__(self, name):
|
def __delattr__(self, name):
|
||||||
if name.startswith('_') or name in dir(self):
|
if name.startswith('_') or name in dir(self):
|
||||||
|
@ -44,10 +44,10 @@ class VMCollection(object):
|
|||||||
new_vm_list = {}
|
new_vm_list = {}
|
||||||
# FIXME: this will probably change
|
# FIXME: this will probably change
|
||||||
for vm_data in vm_list_data.splitlines():
|
for vm_data in vm_list_data.splitlines():
|
||||||
vm_name, props = vm_data.split(b' ', 1)
|
vm_name, props = vm_data.decode('ascii').split(' ', 1)
|
||||||
props = props.split(b' ')
|
props = props.split(' ')
|
||||||
new_vm_list[vm_name] = dict(
|
new_vm_list[vm_name] = dict(
|
||||||
[vm_prop.split(b'=', 1) for vm_prop in props])
|
[vm_prop.split('=', 1) for vm_prop in props])
|
||||||
|
|
||||||
self._vm_list = new_vm_list
|
self._vm_list = new_vm_list
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ class TC_00_VMCollection(qubesmgmt.tests.QubesTestCase):
|
|||||||
self.app.expected_calls[('dom0', 'mgmt.vm.List', None, None)] = \
|
self.app.expected_calls[('dom0', 'mgmt.vm.List', None, None)] = \
|
||||||
b'0\x00test-vm class=AppVM state=running\n'
|
b'0\x00test-vm class=AppVM state=running\n'
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.app.domains.keys(),
|
list(self.app.domains.keys()),
|
||||||
['test-vm'])
|
['test-vm'])
|
||||||
self.assertAllCalled()
|
self.assertAllCalled()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user