From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QgYNy-0000Ps-NR for garchives@archives.gentoo.org; Tue, 12 Jul 2011 08:32:06 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BFBDE21C025; Tue, 12 Jul 2011 08:31:56 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 7E0FB21C025 for ; Tue, 12 Jul 2011 08:31:56 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D4CD02AC065 for ; Tue, 12 Jul 2011 08:31:55 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 0A9528003D for ; Tue, 12 Jul 2011 08:31:55 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: Subject: [gentoo-commits] proj/gentoopm:master commit in: gentoopm/portagepm/, gentoopm/pkgcorepm/, gentoopm/paludispm/, gentoopm/basepm/ X-VCS-Repository: proj/gentoopm X-VCS-Files: gentoopm/basepm/__init__.py gentoopm/basepm/config.py gentoopm/paludispm/__init__.py gentoopm/paludispm/config.py gentoopm/pkgcorepm/__init__.py gentoopm/pkgcorepm/config.py gentoopm/portagepm/__init__.py gentoopm/portagepm/config.py X-VCS-Directories: gentoopm/portagepm/ gentoopm/pkgcorepm/ gentoopm/paludispm/ gentoopm/basepm/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: ea265082ce8693c15c196cec6e743347b152341e Date: Tue, 12 Jul 2011 08:31:55 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 4cd0e92e11880cff03a2a8467302540b commit: ea265082ce8693c15c196cec6e743347b152341e Author: Micha=C5=82 G=C3=B3rny gentoo org> AuthorDate: Tue Jul 12 08:32:31 2011 +0000 Commit: Micha=C5=82 G=C3=B3rny gentoo org> CommitDate: Tue Jul 12 08:32:31 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoopm.git;= a=3Dcommit;h=3Dea265082 Add abstract configuration interface. --- gentoopm/basepm/__init__.py | 9 +++++++++ gentoopm/basepm/config.py | 11 +++++++++++ gentoopm/paludispm/__init__.py | 5 +++++ gentoopm/paludispm/config.py | 10 ++++++++++ gentoopm/pkgcorepm/__init__.py | 5 +++++ gentoopm/pkgcorepm/config.py | 10 ++++++++++ gentoopm/portagepm/__init__.py | 5 +++++ gentoopm/portagepm/config.py | 10 ++++++++++ 8 files changed, 65 insertions(+), 0 deletions(-) diff --git a/gentoopm/basepm/__init__.py b/gentoopm/basepm/__init__.py index 10a727c..2e61d2a 100644 --- a/gentoopm/basepm/__init__.py +++ b/gentoopm/basepm/__init__.py @@ -72,3 +72,12 @@ class PackageManager(ABCObject): @type: L{PMAtom} """ pass + + @abstractproperty + def config(self): + """ + The PM config instance. + + @type: L{PMConfig} + """ + pass diff --git a/gentoopm/basepm/config.py b/gentoopm/basepm/config.py new file mode 100644 index 0000000..90dbb67 --- /dev/null +++ b/gentoopm/basepm/config.py @@ -0,0 +1,11 @@ +#!/usr/bin/python +# vim:fileencoding=3Dutf-8 +# (c) 2011 Micha=C5=82 G=C3=B3rny +# Released under the terms of the 2-clause BSD license. + +from abc import abstractproperty + +from gentoopm.util import ABCObject + +class PMConfig(ABCObject): + pass diff --git a/gentoopm/paludispm/__init__.py b/gentoopm/paludispm/__init__= .py index cb7fc69..a64657e 100644 --- a/gentoopm/paludispm/__init__.py +++ b/gentoopm/paludispm/__init__.py @@ -7,6 +7,7 @@ import functools, paludis =20 from gentoopm.basepm import PackageManager from gentoopm.paludispm.atom import PaludisAtom +from gentoopm.paludispm.config import PaludisConfig from gentoopm.paludispm.repo import PaludisRepoDict, PaludisInstalledRep= o, \ PaludisStackRepo =20 @@ -31,3 +32,7 @@ class PaludisPM(PackageManager): @property def Atom(self): return functools.partial(PaludisAtom, env =3D self._env) + + @property + def config(self): + return PaludisConfig(self._env) diff --git a/gentoopm/paludispm/config.py b/gentoopm/paludispm/config.py new file mode 100644 index 0000000..f58803f --- /dev/null +++ b/gentoopm/paludispm/config.py @@ -0,0 +1,10 @@ +#!/usr/bin/python +# vim:fileencoding=3Dutf-8 +# (c) 2011 Micha=C5=82 G=C3=B3rny +# Released under the terms of the 2-clause BSD license. + +from gentoopm.basepm.config import PMConfig + +class PaludisConfig(PMConfig): + def __init__(self, env): + self._env =3D env diff --git a/gentoopm/pkgcorepm/__init__.py b/gentoopm/pkgcorepm/__init__= .py index daf6bf5..10a5390 100644 --- a/gentoopm/pkgcorepm/__init__.py +++ b/gentoopm/pkgcorepm/__init__.py @@ -7,6 +7,7 @@ from pkgcore.config import load_config =20 from gentoopm.basepm import PackageManager from gentoopm.pkgcorepm.atom import PkgCoreAtom +from gentoopm.pkgcorepm.config import PkgCoreConfig from gentoopm.pkgcorepm.repo import PkgCoreRepoDict, \ PkgCoreInstalledRepo =20 @@ -28,3 +29,7 @@ class PkgCorePM(PackageManager): @property def Atom(self): return PkgCoreAtom + + @property + def config(self): + return PkgCoreConfig(self._domain) diff --git a/gentoopm/pkgcorepm/config.py b/gentoopm/pkgcorepm/config.py new file mode 100644 index 0000000..3056268 --- /dev/null +++ b/gentoopm/pkgcorepm/config.py @@ -0,0 +1,10 @@ +#!/usr/bin/python +# vim:fileencoding=3Dutf-8 +# (c) 2011 Micha=C5=82 G=C3=B3rny +# Released under the terms of the 2-clause BSD license. + +from gentoopm.basepm.config import PMConfig + +class PkgCoreConfig(PMConfig): + def __init__(self, domain): + self._domain =3D domain diff --git a/gentoopm/portagepm/__init__.py b/gentoopm/portagepm/__init__= .py index 6bade14..797a58b 100644 --- a/gentoopm/portagepm/__init__.py +++ b/gentoopm/portagepm/__init__.py @@ -8,6 +8,7 @@ from portage import create_trees =20 from gentoopm.basepm import PackageManager from gentoopm.portagepm.atom import PortageAtom +from gentoopm.portagepm.config import PortageConfig from gentoopm.portagepm.repo import PortageRepoDict, VDBRepository =20 class PortagePM(PackageManager): @@ -33,3 +34,7 @@ class PortagePM(PackageManager): @property def Atom(self): return PortageAtom + + @property + def config(self): + return PortageConfig(self._portdb.settings) diff --git a/gentoopm/portagepm/config.py b/gentoopm/portagepm/config.py new file mode 100644 index 0000000..5f80506 --- /dev/null +++ b/gentoopm/portagepm/config.py @@ -0,0 +1,10 @@ +#!/usr/bin/python +# vim:fileencoding=3Dutf-8 +# (c) 2011 Micha=C5=82 G=C3=B3rny +# Released under the terms of the 2-clause BSD license. + +from gentoopm.basepm.config import PMConfig + +class PortageConfig(PMConfig): + def __init__(self, settings): + self._settings =3D settings