schema.py: avoid inefficient string concatenations
authorBjörn Jacke <bj@sernet.de>
Sun, 25 Aug 2019 21:06:19 +0000 (23:06 +0200)
committerBjoern Jacke <bjacke@samba.org>
Tue, 24 Sep 2019 12:22:44 +0000 (12:22 +0000)
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/schema.py

index aedee82bb8fa439aee476d1e2c9ab90e58880da7..caea7e358aebd00a3b80001e34acd02ab11a4a3b 100644 (file)
@@ -111,9 +111,7 @@ class Schema(object):
             setup_path('ad-schema/%s' % Schema.base_schemas[base_schema][1]))
 
         if files is not None:
-            for file in files:
-                data = get_string(open(file, 'rb').read())
-                self.schema_data += data
+            self.schema_data = "".join(get_string(open(file, 'rb').read()) for file in files)
 
         self.schema_data = substitute_var(self.schema_data,
                                           {"SCHEMADN": schemadn})
@@ -135,8 +133,7 @@ class Schema(object):
             self.prefixmap_data = open(setup_path("prefixMap.txt"), 'rb').read()
 
         if additional_prefixmap is not None:
-            for map in additional_prefixmap:
-                self.prefixmap_data += "%s\n" % map
+            self.prefixmap_data += "".join("%s\n" % map for map in additional_prefixmap)
 
         self.prefixmap_data = b64encode(self.prefixmap_data).decode('utf8')