]> git.ipfire.org Git - pakfire.git/commitdiff
Move create_relation(...) to Pakfire class.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 17 Jul 2011 13:59:17 +0000 (15:59 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 17 Jul 2011 13:59:17 +0000 (15:59 +0200)
pakfire/base.py
pakfire/builder.py
pakfire/repository/index.py

index 3b47a4de84fceab872a989be7fe9b7e781e19ab3..2bb325c4f0d2f624744a575f846006d7bb5acf44 100644 (file)
@@ -18,6 +18,14 @@ from constants import *
 from i18n import _
 
 class Pakfire(object):
+       RELATIONS = (
+               (">=", satsolver.REL_GE,),
+               ("<=", satsolver.REL_LE,),
+               ("=" , satsolver.REL_EQ,),
+               ("<" , satsolver.REL_LT,),
+               (">" , satsolver.REL_GT,),
+       )
+
        def __init__(self, builder=False, configs=[], enable_repos=None,
                        disable_repos=None, distro_config=None):
                # Check if we are operating as the root user.
@@ -62,6 +70,22 @@ class Pakfire(object):
        def create_request(self):
                return satsolver.Request(self.pool)
 
+       def create_relation(self, s):
+               assert s
+
+               if s.startswith("/"):
+                       return satsolver.Relation(self.pool, s)
+
+               for pattern, type in self.RELATIONS:
+                       if not pattern in s:
+                               continue
+
+                       name, version = s.split(pattern, 1)
+
+                       return satsolver.Relation(self.pool, name, version, type)
+
+               return satsolver.Relation(self.pool, s)
+
        def destroy(self):
                if not self.path == "/":
                        util.rm(self.path)
index f23336010010b4e626b70cf9d41432099e0d01db..8a760834098cf32012b95b949a3558ab1b325248 100644 (file)
@@ -279,7 +279,7 @@ class Builder(object):
                                req = req.friendly_name
 
                        if "<" in req or ">" in req or "=" in req:
-                               req = self.solver.create_relation(req)
+                               req = self.pakfire.create_relation(req)
 
                        request.install(req)
 
index 2d1dbdf8c164cc2a7899bc504592e48df29fcfad..75949d18fa6546d1e54cc24e1a56959d1aa31e1b 100644 (file)
@@ -16,14 +16,6 @@ from pakfire.constants import *
 from pakfire.i18n import _
 
 class Index(object):
-       RELATIONS = (
-               (">=", satsolver.REL_GE,),
-               ("<=", satsolver.REL_LE,),
-               ("=" , satsolver.REL_EQ,),
-               ("<" , satsolver.REL_LT,),
-               (">" , satsolver.REL_GT,),
-       )
-
        def __init__(self, pakfire, repo):
                self.pakfire = pakfire
 
@@ -70,23 +62,8 @@ class Index(object):
                """
                self.solver_repo.write(filename)
 
-       def create_relation(self, s):
-               assert s
-
-               pool = self.pakfire.pool
-
-               if s.startswith("/"):
-                       return satsolver.Relation(pool, s)
-
-               for pattern, type in self.RELATIONS:
-                       if not pattern in s:
-                               continue
-
-                       name, version = s.split(pattern, 1)
-
-                       return satsolver.Relation(pool, name, version, type)
-
-               return satsolver.Relation(pool, s)
+       def create_relation(self, *args, **kwargs):
+               return self.pakfire.create_relation(*args, **kwargs)
 
        def add_package(self, pkg):
                # XXX Skip packages without a UUID