From 018127aa2078db22e0c8ebbae1ac5bdfd3093cf3 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 17 Jul 2011 15:59:17 +0200 Subject: [PATCH] Move create_relation(...) to Pakfire class. --- pakfire/base.py | 24 ++++++++++++++++++++++++ pakfire/builder.py | 2 +- pakfire/repository/index.py | 27 ++------------------------- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/pakfire/base.py b/pakfire/base.py index 3b47a4de8..2bb325c4f 100644 --- a/pakfire/base.py +++ b/pakfire/base.py @@ -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) diff --git a/pakfire/builder.py b/pakfire/builder.py index f23336010..8a7608340 100644 --- a/pakfire/builder.py +++ b/pakfire/builder.py @@ -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) diff --git a/pakfire/repository/index.py b/pakfire/repository/index.py index 2d1dbdf8c..75949d18f 100644 --- a/pakfire/repository/index.py +++ b/pakfire/repository/index.py @@ -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 -- 2.39.5