diff options
author | Mathieu Bridon <[email protected]> | 2018-07-06 12:17:50 +0200 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2018-07-24 11:07:04 -0700 |
commit | 01da2feb0edd36abb161d96ccd6020c4b358da91 (patch) | |
tree | 229be3cd2888fcdc4a317fcbbb44a3babaea5278 | |
parent | 5530cb1296cef759ea2f94e581da0a4d853a9f5f (diff) |
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 <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Reviewed-by: Dylan Baker <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
-rw-r--r-- | src/mapi/glapi/gen/glX_proto_send.py | 3 | ||||
-rw-r--r-- | src/mapi/glapi/gen/glX_proto_size.py | 6 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_XML.py | 12 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_procs.py | 3 |
4 files changed, 8 insertions, 16 deletions
diff --git a/src/mapi/glapi/gen/glX_proto_send.py b/src/mapi/glapi/gen/glX_proto_send.py index c389872044c..fba2f0cc1e8 100644 --- a/src/mapi/glapi/gen/glX_proto_send.py +++ b/src/mapi/glapi/gen/glX_proto_send.py @@ -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)) diff --git a/src/mapi/glapi/gen/glX_proto_size.py b/src/mapi/glapi/gen/glX_proto_size.py index 18a6f2e5024..2a843c3e241 100644 --- a/src/mapi/glapi/gen/glX_proto_size.py +++ b/src/mapi/glapi/gen/glX_proto_size.py @@ -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] ] diff --git a/src/mapi/glapi/gen/gl_XML.py b/src/mapi/glapi/gen/gl_XML.py index 20057cf9c4f..7bd5a1f4e43 100644 --- a/src/mapi/glapi/gen/gl_XML.py +++ b/src/mapi/glapi/gen/gl_XML.py @@ -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]) diff --git a/src/mapi/glapi/gen/gl_procs.py b/src/mapi/glapi/gen/gl_procs.py index 5718f42ab61..4bd33216106 100644 --- a/src/mapi/glapi/gen/gl_procs.py +++ b/src/mapi/glapi/gen/gl_procs.py @@ -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])) |