[libvirt] [PATCH python 06/15] generator: Update to use sort() 'key' param

Doug Goldstein cardoe at gentoo.org
Tue Dec 3 17:18:04 UTC 2013


On Tue, Dec 3, 2013 at 10:36 AM, Daniel P. Berrange <berrange at redhat.com> wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> The sort() method previously took either a compartor function
> or a key function. Only the latter is supported in Python3.
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  generator.py | 30 ++++++++----------------------
>  1 file changed, 8 insertions(+), 22 deletions(-)
>
> diff --git a/generator.py b/generator.py
> index 8cce800..9f4b76b 100755
> --- a/generator.py
> +++ b/generator.py
> @@ -1172,23 +1172,9 @@ def nameFixup(name, classe, type, file):
>      return func
>
>
> -def functionCompare(info1, info2):
> -    (index1, func1, name1, ret1, args1, file1, mod1) = info1
> -    (index2, func2, name2, ret2, args2, file2, mod2) = info2
> -    if file1 == file2:
> -        if func1 < func2:
> -            return -1
> -        if func1 > func2:
> -            return 1
> -    if file1 == "python_accessor":
> -        return -1
> -    if file2 == "python_accessor":
> -        return 1
> -    if file1 < file2:
> -        return -1
> -    if file1 > file2:
> -        return 1
> -    return 0
> +def functionSortKey(info):
> +    (index, func, name, ret, args, filename, mod) = info
> +    return func, filename
>
>  def writeDoc(module, name, args, indent, output):
>       if module == "libvirt":
> @@ -1319,7 +1305,7 @@ def buildWrappers(module):
>
>      if "None" in function_classes:
>          flist = function_classes["None"]
> -        flist.sort(functionCompare)
> +        flist.sort(key=functionSortKey)
>          oldfile = ""
>          for info in flist:
>              (index, func, name, ret, args, file, mod) = info
> @@ -1468,7 +1454,7 @@ def buildWrappers(module):
>                  classes.write("        return self._dom\n\n")
>
>              flist = function_classes[classname]
> -            flist.sort(functionCompare)
> +            flist.sort(key=functionSortKey)
>              oldfile = ""
>              for info in flist:
>                  (index, func, name, ret, args, file, mod) = info
> @@ -1775,7 +1761,7 @@ def buildWrappers(module):
>      for type,enum in list(enums.items()):
>          classes.write("# %s\n" % type)
>          items = list(enum.items())
> -        items.sort(lambda i1,i2: cmp(int(i1[1]),int(i2[1])))
> +        items.sort(key=lambda i: int(i[1]))
>          for name,value in items:
>              classes.write("%s = %s\n" % (name,value))
>          classes.write("\n")
> @@ -1885,7 +1871,7 @@ def qemuBuildWrappers(module):
>      for type,enum in list(qemu_enums.items()):
>          fd.write("# %s\n" % type)
>          items = list(enum.items())
> -        items.sort(lambda i1,i2: cmp(int(i1[1]),int(i2[1])))
> +        items.sort(key=lambda i: int(i[1]))
>          for name,value in items:
>              fd.write("%s = %s\n" % (name,value))
>          fd.write("\n")
> @@ -1996,7 +1982,7 @@ def lxcBuildWrappers(module):
>      for type,enum in list(lxc_enums.items()):
>          fd.write("# %s\n" % type)
>          items = list(enum.items())
> -        items.sort(lambda i1,i2: cmp(int(i1[1]),int(i2[1])))
> +        items.sort(key=lambda i: int(i[1]))
>          for name,value in items:
>              fd.write("%s = %s\n" % (name,value))
>          fd.write("\n")
> --
> 1.8.3.1

Visually makes sense. Have not run it locally but ACK from a visual stand point.

-- 
Doug Goldstein




More information about the libvir-list mailing list