--- /usr/bin/koji	2007-04-23 23:54:14.000000000 +0200
+++ koji	2007-04-24 12:03:33.000000000 +0200
@@ -40,8 +40,7 @@
 import urllib
 import xmlrpclib
 import optparse
-#for import-comps handler (currently disabled)
-#from rhpl.comps import Comps
+from yum.comps import Comps
 
 # fix OptionParser for python 2.3 (optparse verion 1.4.1+)
 # code taken from optparse version 1.5a2
@@ -891,49 +890,50 @@
             print _("done")
         sys.stdout.flush()
 
-# Currently disabled, needs porting to yum.comps
-#def handle_import_comps(options, session, args):
-#    "Import group/package information from a comps file"
-#    usage = _("usage: %prog import-comps [options] <file> <tag>")
-#    usage += _("\n(Specify the --help global option for a list of other help options)")
-#    parser = OptionParser(usage=usage)
-#    parser.add_option("--force", action="store_true", help=_("force import"))
-#    (local_options, args) = parser.parse_args(args)
-#    if len(args) != 2:
-#        parser.error(_("Incorrect number of arguments"))
-#        assert False
-#    comps = Comps(args[0])
-#    tag = args[1]
-#    force = local_options.force
+def handle_import_comps(options, session, args):
+    "[admin] Import group/package information from a comps file"
+    usage = _("usage: %prog import-comps [options] <file> <tag>")
+    usage += _("\n(Specify the --help global option for a list of other help options)")
+    parser = OptionParser(usage=usage)
+    parser.add_option("--force", action="store_true", help=_("force import"))
+    (local_options, args) = parser.parse_args(args)
+    if len(args) != 2:
+        parser.error(_("Incorrect number of arguments"))
+        assert False
+    activate_session(session)
+    comps = Comps()
+    comps.add(args[0])
+    tag = args[1]
+    force = local_options.force
 #    #add all the groups first (so that group reqs do not break)
-#    for name,group in comps.groups.items():
-#        print "Group: %s (%s)" % (group.id,name)
-#        session.groupListAdd(tag,group.id,force=force,display_name=name,
-#                        is_default=bool(group.default),
-#                        uservisible=bool(group.user_visible),
-#                        description=group.description,
-#                        langonly=group.langonly,
+    for group in comps.groups:
+        print "Group: %s (%s)" % (group.groupid,group.name)
+        session.groupListAdd(tag,group.groupid,force=force,display_name=group.name,
+                        is_default=bool(group.default),
+                        uservisible=bool(group.user_visible),
+                        description=group.description,
+                        langonly=group.langonly)
+# no biarchonly in yum.comps
 #                        biarchonly=bool(group.biarchonly))
 #        #for k in ('id','biarchonly','langonly','user_visible','default','description'):
 #        #    print "  %s: %s" %(k,getattr(group,k))
-#    for name,group in comps.groups.items():
-#        print "Group: %s (%s)" % (group.id,name)
-#        for pkg in group.pkgs.values():
-#            pkg = pkg.copy()
-#            pkg_name = pkg['package']
-#            if group.pkgConditionals.has_key(pkg_name):
-#                pkg['requires'] = group.pkgConditionals[pkg_name]
+    for group in comps.groups:
+        print "Group: %s (%s)" % (group.groupid,group.name)
+        for p in group.packages:
+            pkg = {}
+            pkg_name = p.__str__()
+            if group.conditional_packages.has_key(pkg_name):
+                pkg['requires'] = group.conditional_packages[pkg_name]
+# no basearchonly attrib support in yum.comps
 #            pkg['basearchonly'] = bool(pkg['baseonly'])
-#            del pkg['package']
-#            del pkg['baseonly']
-#            print "  Package: %s: %r" % (pkg_name, pkg)
-#            session.groupPackageListAdd(tag,group.id,pkg_name,force=force, **pkg)
+            print "  Package: %s: %r" % (pkg_name, pkg)
+            session.groupPackageListAdd(tag,group.groupid,pkg_name,force=force, **pkg)
 #        for type,req in group.groups.values():
 #            print "  Req: %s (%s)" % (req,type)
-#            session.groupReqListAdd(tag,group.id,req,force=force,type=type)
+#            session.groupReqListAdd(tag,group.groupid,req,force=force,type=type)
 #        for type,req in group.metapkgs.values():
 #            print "  Metapkg: %s (%s)" %(req,type)
-#            session.groupReqListAdd(tag,group.id,req,force=force,type=type,is_metapkg=True)
+#            session.groupReqListAdd(tag,group.groupid,req,force=force,type=type,is_metapkg=True)
 
 def handle_import_sig(options, session, args):
     "[admin] Import signatures into the database"
