fix py3 compatibility issues in eshowkw.
authordol-sen <brian.dolbec@gmail.com>
Mon, 16 May 2011 16:38:02 +0000 (09:38 -0700)
committerdol-sen <brian.dolbec@gmail.com>
Mon, 16 May 2011 16:38:02 +0000 (09:38 -0700)
pym/gentoolkit/eshowkw/__init__.py
pym/gentoolkit/eshowkw/display_pretty.py
pym/gentoolkit/eshowkw/keywords_content.py
pym/gentoolkit/eshowkw/keywords_header.py

index 9c70bee9174f18263363eb72c6b721cf792c324b..e0544a93c4bc9e40f9261d8cdafad543d1c36b14 100644 (file)
@@ -14,10 +14,10 @@ from portage import config as portc
 from portage import portdbapi as portdbapi
 from portage import db as portdb
 
-from .keywords_header import keywords_header
-from .keywords_content import keywords_content
-from .display_pretty import string_rotator
-from .display_pretty import display
+from gentoolkit.eshowkw.keywords_header import keywords_header
+from gentoolkit.eshowkw.keywords_content import keywords_content
+from gentoolkit.eshowkw.display_pretty import string_rotator
+from gentoolkit.eshowkw.display_pretty import display
 
 ignore_slots = False
 bold = False
@@ -25,6 +25,7 @@ order = 'bottom'
 topper = 'versionlist'
 
 def process_display(package, keywords, dbapi):
+
        portdata = keywords_content(package, keywords.keywords, dbapi, ignore_slots, order, bold, topper)
        if topper == 'archlist':
                header = string_rotator().rotateContent(keywords.content, keywords.length, bold)
@@ -108,7 +109,8 @@ def main(argv, indirect = False):
                dbapi = portdbapi(mysettings=mysettings)
                if not use_overlays:
                        dbapi.porttrees = [dbapi.porttree_root]
-               map(lambda x: process_display(x, keywords, dbapi), package)
+               for pkg in package:
+                       process_display(pkg, keywords, dbapi)
        else:
                currdir = os.getcwd()
                # check if there are actualy some ebuilds
index 270a0eb87a047054468d48288ec5a9e1fc7a25cd..beca5f4ecda9ec86a261bb5293e3aa8a65520e06 100644 (file)
@@ -3,7 +3,10 @@
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.output import colorize
-from itertools import izip_longest
+try: # newer python versions
+       from itertools import zip_longest
+except ImportError: # older python naming
+       from itertools import izip_longest as zip_longest
 
 __all__ = ['string_rotator', 'colorize_string', 'align_string', 'rotate_dash', 'print_content', 'display']
 
@@ -17,14 +20,14 @@ def display(plain_list, rotated_list, plain_width, rotated_height, cp, toplist =
        if toplist != 'archlist':
                corner_image.extend(plain_list)
        data_printout = ['%s%s' % (x, y)
-               for x, y in izip_longest(corner_image, rotated_list, fillvalue=corner_image[0])]
+               for x, y in zip_longest(corner_image, rotated_list, fillvalue=corner_image[0])]
        if toplist == 'archlist':
                data_printout.extend(plain_list)
        output.extend(data_printout)
        print(print_content(output))
 
 def align_string(string, align, length):
-       """Align string to the specified alignment (left or right, and after rotation it becames top and bottom)"""
+       """Align string to the specified alignment (left or right, and after rotation it becomes top and bottom)"""
        if align == 'top' or align == 'left':
                string = string.ljust(length)
        else:
index 637c99a80ffe58f36413a50be032a10fb3cbaaf5..99d652e7ace10caeb5e3d0e9dd1d811d50c78510 100644 (file)
@@ -8,8 +8,8 @@ from portage.output import colorize
 
 __all__ = ['keywords_content']
 
-from display_pretty import colorize_string
-from display_pretty import align_string
+from gentoolkit.eshowkw.display_pretty import colorize_string
+from gentoolkit.eshowkw.display_pretty import align_string
 
 class keywords_content:
        class RedundancyChecker:
@@ -101,7 +101,7 @@ class keywords_content:
                def __getVersions(self, packages):
                        """Obtain properly aligned version strings without colors."""
                        revlength = max([len(self.__getRevision(x)) for x in packages])
-                       return map(lambda x: self.__separateVersion(x, revlength), packages)
+                       return  [self.__separateVersion(x, revlength) for x in packages]
 
                def __getRevision(self, cpv):
                        """Get revision informations for each package for nice further alignment"""
index 23588a488c2cafadf3ec8c106322ae53a55e1a55..f7e3e50bad6d65fc30e8a6e6d49299b3cd4c26f0 100644 (file)
@@ -6,8 +6,8 @@ __all__ = ['keywords_header']
 
 from portage import settings as ports
 from portage.output import colorize
-from display_pretty import colorize_string
-from display_pretty import align_string
+from gentoolkit.eshowkw.display_pretty import colorize_string
+from gentoolkit.eshowkw.display_pretty import align_string
 
 class keywords_header:
        __IMPARCHS = [ 'arm', 'amd64', 'x86' ]