gentoolkit-dev/src/imlate:
authoridl0r <idl0r@gentoo.org>
Sun, 28 Mar 2010 21:45:22 +0000 (21:45 -0000)
committeridl0r <idl0r@gentoo.org>
Sun, 28 Mar 2010 21:45:22 +0000 (21:45 -0000)
Made imlate python 2.6/3 compatible.
Fixed deprecated portdb.dbapi.mysettings to portdb.dbapi.settings.
Removed portage check to ensure at least portage 2.1.6 has been installed.
Bumped version to 1.0.0, in imlate manpage as well.

svn path=/trunk/gentoolkit-dev/; revision=759

ChangeLog
src/imlate/imlate
src/imlate/imlate.1

index 8c289096c380217954080b8668f1ed9b17b8314c..b9c3c796526fbf0afc2e29a9011c7ee20ca731e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-28: Christian Ruppert <idl0r@gentoo.org>
+       src/imlate/imlate, src/imlate/imlate.1: Made imlate python 2.6/3 compatible.
+       Fixed deprecated portdb.dbapi.mysettings to portdb.dbapi.settings.
+       Removed portage check to ensure at least portage 2.1.6 has been installed.
+       Bumped version to 1.0.0, in imlate manpage as well.
+
 2010-02-10: Christian Ruppert <idl0r@gentoo.org>
        src/echangelog/echangelog: Fix replacement regex for TextWrap, thanks to
        Torsten Veller <tove@gentoo.org>, bug 304249.
index ed019ccd048d8ebdc6dccd5741cb7ec1f45040a5..202c6c0025212fce7f2d2ed6bf85d0a014cb59e1 100755 (executable)
@@ -1,12 +1,13 @@
 #!/usr/bin/python
-
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: $
+# $Id: $
+# Author: Christian Ruppert <idl0r@gentoo.org>
 
-# author: Christian Ruppert <idl0r@gentoo.org>
+# Python 2.6 compatibility
+from __future__ import print_function
 
-VERSION = "0.0.4"
+VERSION = "1.0.0"
 
 # works just with stable keywords!
 MAIN_ARCH = "auto" # can be overridden by -m ARCH
@@ -27,7 +28,7 @@ from os import stat
 from time import time
 from xml.dom import minidom, NotFoundErr
 from xml.parsers.expat import ExpatError
-# TODO: just import needed stuff to safe memory and maybe use "as foo"
+# TODO: just import needed stuff to safe memory/time and maybe use "as foo"
 import portage
 import portage.versions
 
@@ -35,14 +36,6 @@ if __name__ == "__main__":
        from optparse import OptionParser
        from time import gmtime, strftime
 
-# portage < 2.1.6 needs portage_const instead of portage.const,
-# which is not the problem...
-# the problem is the keyword handling (ACCEPT_KEYWORDS)
-# portage < 2.1.6 does not support -*
-# but -* is needed to ensure that we just check for arch
-if portage.versions.vercmp(portage.VERSION, "2.1.6") < 0:
-       raise StandardError, "imlate requires portage >=2.1.6"
-
 # override/change portage module settings
 def _portage_settings( var, value, settings = None ):
        if not settings:
@@ -57,9 +50,9 @@ def _portage_settings( var, value, settings = None ):
 
 # add stuff to our imlate dict
 def _add_ent( imlate, cat, pkg, ver, our_ver ):
-       if not cat in imlate.keys():
+       if not cat in list(imlate.keys()):
                imlate[cat] = {}
-       if not pkg in imlate[cat].keys():
+       if not pkg in list(imlate[cat].keys()):
                imlate[cat][pkg] = []
 
        imlate[cat][pkg].append( ver )
@@ -100,21 +93,21 @@ def show_result( conf, pkgs ):
 
        header = _header % ( _cand, conf["MAIN_ARCH"] )
 
-       print >> out, "Generated on: %s" % conf["TIME"]
-       print >> out, _fill( len( header ), "", "=" )
-       print >> out, header
-       print >> out, _fill( len( header ), "", "=" )
-       print >> out
+       print("Generated on: %s" % conf["TIME"], file=out)
+       print(_fill( len( header ), "", "=" ), file=out)
+       print(header, file=out)
+       print(_fill( len( header ), "", "=" ), file=out)
+       print(file=out)
 
-       print >> out, _helper
-       print >> out, _fill( len( _helper ), "", "-" )
+       print(_helper, file=out)
+       print(_fill( len( _helper ), "", "-" ), file=out)
 
        for cat in sorted( pkgs.keys() ):
-               print >> out, "%s/" % cat
+               print("%s/" % cat, file=out)
                for pkg in sorted( pkgs[cat].keys() ):
-                       print >> out, "%s%s%s" % ( _fill( col1, ( "  %s" % pkg ) ),
+                       print("%s%s%s" % ( _fill( col1, ( "  %s" % pkg ) ),
                                                                        _fill( col2, pkgs[cat][pkg][1] ),
-                                                                       pkgs[cat][pkg][0] )
+                                                                       pkgs[cat][pkg][0] ), file=out)
 
        if conf["FILE"] != "stdout":
                out.close()
@@ -124,7 +117,7 @@ def _get_metadata(metadata, element, tag):
 
        try:
                metadatadom = minidom.parse(metadata)
-       except ExpatError, e:
+       except ExpatError as e:
                raise ExpatError("%s: %s" % (metadata, e,))
 
        try:
@@ -236,9 +229,9 @@ def get_packages( conf ):
                        if cpvr:
                                ( cat, pkg, ver, rev ) = portage.versions.catpkgsplit( cpvr )
 
-                               if not cat in _pkgs.keys():
+                               if not cat in list(_pkgs.keys()):
                                        _pkgs[cat] = {}
-                               if not pkg in _pkgs[cat].keys():
+                               if not pkg in list(_pkgs[cat].keys()):
                                        _pkgs[cat][pkg] = []
 
                                if rev != "r0":
@@ -348,7 +341,7 @@ def get_imlate( conf, pkgs ):
 # fetch portage related settings
 def get_settings( conf = None ):
        if not isinstance( conf, dict ) and conf:
-               raise TypeError, "conf must be dict() or None"
+               raise TypeError("conf must be dict() or None")
        if not conf:
                conf = {}
 
@@ -367,7 +360,7 @@ def get_settings( conf = None ):
                        _cat = _cat.strip()
                        _mycats.append(_cat )
                        if _cat not in mysettings.categories:
-                               raise ValueError, "invalid category for -C switch '%s'" % _cat
+                               raise ValueError("invalid category for -C switch '%s'" % _cat)
                mysettings.categories = _mycats
 
        # maybe thats not necessary because we override porttrees below..
@@ -375,7 +368,7 @@ def get_settings( conf = None ):
        trees = portage.create_trees()
        trees["/"]["porttree"].settings = mysettings
        portdb = trees["/"]["porttree"]
-       portdb.dbapi.mysettings = mysettings
+       portdb.dbapi.settings = mysettings
        portdb.dbapi.porttrees = [portage.portdb.porttree_root]
        # does it make sense to remove _all_ useless stuff or just leave it as it is?
        #portdb.dbapi._aux_cache_keys.clear()
@@ -449,9 +442,9 @@ def main():
        conf["STABLE_SUM"] = 0
 
        if not options.main_arch in portage.archlist and options.main_arch != "auto":
-               raise ValueError, "invalid MAIN ARCH defined!"
+               raise ValueError("invalid MAIN ARCH defined!")
        if not options.target_arch in portage.archlist and options.target_arch != "auto":
-               raise ValueError, "invalid TARGET ARCH defined!"
+               raise ValueError("invalid TARGET ARCH defined!")
 
        conf["MAIN_ARCH"] = options.main_arch
        conf["TARGET_ARCH"] = options.target_arch
index d4a1dc2015153e6ce0d9f579c6bd543c55ae9841..b9163a4648807b590a72a2155c0a5e21071d23e7 100644 (file)
@@ -1,4 +1,4 @@
-.TH "imlate" "1" "0.0.4" "Christian Ruppert" "gentoolkit-dev"
+.TH "imlate" "1" "1.0.0" "Christian Ruppert" "gentoolkit-dev"
 .SH "NAME"
 .LP 
 imlate \- Displays candidates for keywords for an architecture based upon a target architecture.