mdb_util: Better error message if lmdb-utils not installed
[amitay/samba.git] / python / samba / ms_schema.py
index 850bdca3ae5c8da31330be2790d26582d78590ca..4946636cbd47223760d8ff86f824ccab07411c98 100644 (file)
@@ -87,6 +87,7 @@ multivalued_attrs = set(["auxiliaryclass", "maycontain", "mustcontain", "posssup
                          "systemauxiliaryclass", "systemmaycontain", "systemmustcontain",
                          "systemposssuperiors"])
 
+
 def __read_folded_line(f, buffer):
     """ reads a line from an LDIF file, unfolding it"""
     line = buffer
@@ -174,6 +175,7 @@ def fix_dn(dn):
     else:
         return dn
 
+
 def __convert_bitfield(key, value):
     """Evaluate the OR expression in 'value'"""
     assert(isinstance(value, string_types))
@@ -193,6 +195,7 @@ def __convert_bitfield(key, value):
 
     return str(o)
 
+
 def __write_ldif_one(entry):
     """Write out entry as LDIF"""
     out = []
@@ -210,9 +213,9 @@ def __write_ldif_one(entry):
         for v in vl:
             out.append("%s: %s" % (l[0], v))
 
-
     return "\n".join(out)
 
+
 def __transform_entry(entry, objectClass):
     """Perform transformations required to convert the LDIF-like schema
        file entries to LDIF, including Samba-specific stuff."""
@@ -286,12 +289,14 @@ def __transform_entry(entry, objectClass):
 
     return entry
 
+
 def __parse_schema_file(filename, objectClass):
     """Load and transform a schema file."""
 
     out = []
 
-    f = open(filename, "rU")
+    from io import open
+    f = open(filename, "r", encoding='latin-1')
     for entry in __read_raw_entries(f):
         out.append(__write_ldif_one(__transform_entry(entry, objectClass)))
 
@@ -311,6 +316,7 @@ def read_ms_schema(attr_file, classes_file, dump_attributes=True, dump_classes=T
 
     return attr_ldif + "\n\n" + classes_ldif + "\n\n"
 
+
 if __name__ == '__main__':
     import sys