__docformat__ = "restructuredText"
-REGISTRY_VALUE_PREFIX = "SAMBA_REGVAL"
+REGISTRY_VALUE_PREFIX = b"SAMBA_REGVAL"
REGISTRY_DB_VERSION = 1
import os
def keys(self):
"""Return list with all the keys."""
- return [k.rstrip("\x00") for k in self.db.iterkeys() if not k.startswith(REGISTRY_VALUE_PREFIX)]
+ return [k.rstrip(b"\x00") for k in self.db if not k.startswith(REGISTRY_VALUE_PREFIX)]
def subkeys(self, key):
"""Retrieve the subkeys for the specified key.
:param key: Key path.
:return: list with key names
"""
- data = self.db.get("%s\x00" % key)
+ data = self.db.get(b"%s\x00" % key)
if data is None:
return []
(num, ) = struct.unpack("<L", data[0:4])
- keys = data[4:].split("\0")
- assert keys[-1] == ""
+ keys = data[4:].split(b"\0")
+ assert keys[-1] == b""
keys.pop()
assert len(keys) == num
return keys
:param key: Key to retrieve values for.
:return: Dictionary with value names as key, tuple with type and
data as value."""
- data = self.db.get("%s/%s\x00" % (REGISTRY_VALUE_PREFIX, key))
+ data = self.db.get(b"%s/%s\x00" % (REGISTRY_VALUE_PREFIX, key))
if data is None:
return {}
ret = {}
data = data[4:]
for i in range(num):
# Value name
- (name, data) = data.split("\0", 1)
+ (name, data) = data.split(b"\0", 1)
(type, ) = struct.unpack("<L", data[0:4])
data = data[4:]
self.assertEquals(28, len(self.registry))
def test_keys(self):
- self.assertTrue("HKLM" in self.registry.keys())
+ self.assertTrue(b"HKLM" in self.registry.keys())
def test_subkeys(self):
- self.assertEquals(["SOFTWARE", "SYSTEM"], self.registry.subkeys("HKLM"))
+ self.assertEquals([b"SOFTWARE", b"SYSTEM"], self.registry.subkeys(b"HKLM"))
def test_values(self):
- self.assertEquals({'DisplayName': (1L, 'E\x00v\x00e\x00n\x00t\x00 \x00L\x00o\x00g\x00\x00\x00'),
- 'ErrorControl': (4L, '\x01\x00\x00\x00')},
- self.registry.values("HKLM/SYSTEM/CURRENTCONTROLSET/SERVICES/EVENTLOG"))
+ self.assertEquals({b'DisplayName': (1, b'E\x00v\x00e\x00n\x00t\x00 \x00L\x00o\x00g\x00\x00\x00'),
+ b'ErrorControl': (4, b'\x01\x00\x00\x00')},
+ self.registry.values(b"HKLM/SYSTEM/CURRENTCONTROLSET/SERVICES/EVENTLOG"))
py3_compatible=True)
planpythontestsuite("none", "samba.tests.s3param", py3_compatible=True)
planpythontestsuite("none", "samba.tests.s3passdb", py3_compatible=True)
-planpythontestsuite("none", "samba.tests.s3registry")
+planpythontestsuite("none", "samba.tests.s3registry", py3_compatible=True)
planpythontestsuite("none", "samba.tests.s3windb")
planpythontestsuite("none", "samba.tests.s3idmapdb")
planpythontestsuite("none", "samba.tests.samba3sam")