mirror of
https://github.com/lutris/lutris
synced 2024-10-06 15:59:39 +00:00
Rename WineRegistry values to subkeys
This commit is contained in:
parent
8732b08317
commit
7ea8795bd1
|
@ -91,7 +91,7 @@ class WineRegistry(object):
|
|||
def query(self, keypath, value=None):
|
||||
key = self.get_key(keypath)
|
||||
if key:
|
||||
return key.get_value(value)
|
||||
return key.get_subkey(value)
|
||||
|
||||
def get_unix_path(self, windows_path):
|
||||
windows_path = windows_path.replace('\\\\', '/')
|
||||
|
@ -121,13 +121,10 @@ class WineRegistryKey(object):
|
|||
else:
|
||||
self.timestamp = float("{}.{}".format(ts_parts[0], ts_parts[1]))
|
||||
|
||||
self.values = OrderedDict()
|
||||
self.subkeys = OrderedDict()
|
||||
self.metas = OrderedDict()
|
||||
self.name = self.raw_name.replace('\\\\', '/').strip("[]")
|
||||
|
||||
def set_key(self, name, value):
|
||||
self.values[name.strip("\"")] = value.strip()
|
||||
|
||||
def __str__(self):
|
||||
return "{0} {1}".format(self.raw_name, self.raw_timestamp)
|
||||
|
||||
|
@ -135,18 +132,18 @@ class WineRegistryKey(object):
|
|||
if line.startswith('#'):
|
||||
self.add_meta(line)
|
||||
elif line.startswith('"'):
|
||||
k, v = line.split('=', 1)
|
||||
self.set_key(k, v)
|
||||
key, value = line.split('=', 1)
|
||||
self.set_subkey(key, value)
|
||||
elif line.startswith('@'):
|
||||
k, v = line.split('=', 1)
|
||||
self.set_key('default', v)
|
||||
self.set_subkey('default', v)
|
||||
|
||||
def render(self):
|
||||
"""Return the content of the key in the wine .reg format"""
|
||||
content = self.raw_name + self.raw_timestamp + "\n"
|
||||
for key, value in self.metas.items():
|
||||
content += "#{}={}\n".format(key, value)
|
||||
for key, value in self.values.items():
|
||||
for key, value in self.subkeys.items():
|
||||
if key == 'default':
|
||||
key = '@'
|
||||
else:
|
||||
|
@ -171,10 +168,13 @@ class WineRegistryKey(object):
|
|||
def get_meta(self, name):
|
||||
return self.metas.get(name)
|
||||
|
||||
def get_value(self, name):
|
||||
if name not in self.values:
|
||||
def set_subkey(self, name, value):
|
||||
self.subkeys[name.strip("\"")] = value.strip()
|
||||
|
||||
def get_subkey(self, name):
|
||||
if name not in self.subkeys:
|
||||
return
|
||||
value = self.values[name]
|
||||
value = self.subkeys[name]
|
||||
if value.startswith("\"") and value.endswith("\""):
|
||||
return value[1:-1]
|
||||
elif value.startswith('dword:'):
|
||||
|
|
|
@ -31,11 +31,11 @@ class TestWineRegistry(TestCase):
|
|||
|
||||
def test_can_get_string_value(self):
|
||||
key = self.registry.get_key('Control Panel/Desktop')
|
||||
self.assertEqual(key.get_value('DragFullWindows'), '0')
|
||||
self.assertEqual(key.get_subkey('DragFullWindows'), '0')
|
||||
|
||||
def test_can_get_dword_value(self):
|
||||
key = self.registry.get_key('Control Panel/Desktop')
|
||||
self.assertEqual(key.get_value('CaretWidth'), 1)
|
||||
self.assertEqual(key.get_subkey('CaretWidth'), 1)
|
||||
|
||||
def test_can_render_key(self):
|
||||
expected = (
|
||||
|
|
Loading…
Reference in a new issue