python: Better sort dictionary keys/values
In Python 2, dict.keys() and dict.values() both return a list, which can be sorted in two ways: * l.sort() modifies the list in-place; * sorted(l) returns a new, sorted list; In Python 3, dict.keys() and dict.values() do not return lists any more, but iterators. Iterators do not have a .sort() method. This commit moves the build scripts to using sorted() on dict keys and values, which makes them compatible with both Python 2 and Python 3. Signed-off-by: Mathieu Bridon <bochecha@daitauha.fr> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:

committed by
Dylan Baker

parent
5530cb1296
commit
01da2feb0e
@@ -391,8 +391,7 @@ static const struct proc_pair
|
||||
const char *name;
|
||||
_glapi_proc proc;
|
||||
} proc_pairs[%d] = {""" % len(procs))
|
||||
names = procs.keys()
|
||||
names.sort()
|
||||
names = sorted(procs.keys())
|
||||
for i in xrange(len(names)):
|
||||
comma = ',' if i < len(names) - 1 else ''
|
||||
print(' { "%s", (_glapi_proc) gl%s }%s' % (names[i], procs[names[i]], comma))
|
||||
|
@@ -208,8 +208,7 @@ class glx_enum_function(object):
|
||||
for enum_obj in self.enums[e]:
|
||||
list[ enum_obj.priority() ] = enum_obj.name
|
||||
|
||||
keys = list.keys()
|
||||
keys.sort()
|
||||
keys = sorted(list.keys())
|
||||
for k in keys:
|
||||
j = list[k]
|
||||
if first:
|
||||
@@ -275,8 +274,7 @@ class glx_server_enum_function(glx_enum_function):
|
||||
o = f.offset_of( param_name )
|
||||
foo[o] = param_name
|
||||
|
||||
keys = foo.keys()
|
||||
keys.sort()
|
||||
keys = sorted(foo.keys())
|
||||
for o in keys:
|
||||
p = f.parameters_by_name[ foo[o] ]
|
||||
|
||||
|
@@ -988,12 +988,10 @@ class gl_api(object):
|
||||
|
||||
functions = []
|
||||
for func_cat_type in range(0,4):
|
||||
keys = lists[func_cat_type].keys()
|
||||
keys.sort()
|
||||
keys = sorted(lists[func_cat_type].keys())
|
||||
|
||||
for key in keys:
|
||||
names = lists[func_cat_type][key].keys()
|
||||
names.sort()
|
||||
names = sorted(lists[func_cat_type][key].keys())
|
||||
|
||||
for name in names:
|
||||
functions.append(lists[func_cat_type][key][name])
|
||||
@@ -1027,8 +1025,7 @@ class gl_api(object):
|
||||
|
||||
|
||||
def enumIterateByName(self):
|
||||
keys = self.enums_by_name.keys()
|
||||
keys.sort()
|
||||
keys = sorted(self.enums_by_name.keys())
|
||||
|
||||
list = []
|
||||
for enum in keys:
|
||||
@@ -1047,8 +1044,7 @@ class gl_api(object):
|
||||
|
||||
list = []
|
||||
for cat_type in range(0,4):
|
||||
keys = self.categories[cat_type].keys()
|
||||
keys.sort()
|
||||
keys = sorted(self.categories[cat_type].keys())
|
||||
|
||||
for key in keys:
|
||||
list.append(self.categories[cat_type][key])
|
||||
|
@@ -144,8 +144,7 @@ typedef struct {
|
||||
print('')
|
||||
print('/* OpenGL ES specific prototypes */')
|
||||
print('')
|
||||
keys = categories.keys()
|
||||
keys.sort()
|
||||
keys = sorted(categories.keys())
|
||||
for key in keys:
|
||||
print('/* category %s */' % key)
|
||||
print("\n".join(categories[key]))
|
||||
|
Reference in New Issue
Block a user