ソースを参照

fixed building using scons with python3

I broke python 3 builds by using py2 specific dict functions in
commit 98846b39ee039358584884b439b96e799f1d2bd0
Fixed with functions in compat.py
Ibrahn Sahir 7 年 前
コミット
27310974e0
2 ファイル変更8 行追加4 行削除
  1. 4 0
      compat.py
  2. 4 4
      methods.py

+ 4 - 0
compat.py

@@ -16,6 +16,8 @@ if sys.version_info < (3,):
         return x
     def iteritems(d):
         return d.iteritems()
+    def itervalues(d):
+        return d.itervalues()
     def escape_string(s):
         if isinstance(s, unicode):
             s = s.encode('ascii')
@@ -44,6 +46,8 @@ else:
         return codecs.utf_8_decode(x)[0]
     def iteritems(d):
         return iter(d.items())
+    def itervalues(d):
+        return iter(d.values())
     def charcode_to_c_escapes(c):
         rev_result = []
         while c >= 256:

+ 4 - 4
methods.py

@@ -1,5 +1,5 @@
 import os
-from compat import iteritems, open_utf8, escape_string
+from compat import iteritems, itervalues, open_utf8, escape_string
 
 
 def add_source_files(self, sources, filetype, lib_env=None, shared=False):
@@ -661,7 +661,7 @@ def make_license_header(target, source, env):
                 reader.next_line()
 
     data_list = []
-    for project in projects.itervalues():
+    for project in itervalues(projects):
         for part in project:
             part["file_index"] = len(data_list)
             data_list += part["Files"]
@@ -703,7 +703,7 @@ def make_license_header(target, source, env):
         f.write("const ComponentCopyrightPart COPYRIGHT_PROJECT_PARTS[] = {\n")
         part_index = 0
         part_indexes = {}
-        for project_name, project in projects.iteritems():
+        for project_name, project in iteritems(projects):
             part_indexes[project_name] = part_index
             for part in project:
                 f.write("\t{ \"" + escape_string(part["License"][0]) + "\", "
@@ -717,7 +717,7 @@ def make_license_header(target, source, env):
         f.write("const int COPYRIGHT_INFO_COUNT = " + str(len(projects)) + ";\n")
 
         f.write("const ComponentCopyright COPYRIGHT_INFO[] = {\n")
-        for project_name, project in projects.iteritems():
+        for project_name, project in iteritems(projects):
             f.write("\t{ \"" + escape_string(project_name) + "\", "
                     + "&COPYRIGHT_PROJECT_PARTS[" + str(part_indexes[project_name]) + "], "
                     + str(len(project)) + " },\n")