From cdf64ca00c31ee0370ffa71ef74b53624b660678 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 5 Jun 2008 23:35:23 +0000 Subject: Add Package.counter and mtime attributes. svn path=/main/trunk/; revision=10587 --- pym/_emerge/__init__.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 12723e655..913c0d35e 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1274,13 +1274,13 @@ class Package(Task): __slots__ = ("built", "cpv", "depth", "installed", "metadata", "onlydeps", "operation", "root_config", "type_name", - "category", "cp", "cpv_split", "iuse", + "category", "counter", "cp", "cpv_split", "iuse", "mtime", "pf", "pv_split", "root", "slot", "slot_atom", "use") metadata_keys = [ "CHOST", "COUNTER", "DEPEND", "EAPI", "IUSE", "KEYWORDS", "LICENSE", "PDEPEND", "PROVIDE", "RDEPEND", - "repository", "RESTRICT", "SLOT", "USE"] + "repository", "RESTRICT", "SLOT", "USE", "_mtime_"] def __init__(self, **kwargs): Task.__init__(self, **kwargs) @@ -1336,7 +1336,8 @@ class Package(Task): """ Detect metadata updates and synchronize Package attributes. """ - _wrapped_keys = frozenset(["IUSE", "SLOT", "USE"]) + _wrapped_keys = frozenset( + ["COUNTER", "IUSE", "SLOT", "USE", "_mtime_"]) def __init__(self, pkg, metadata): dict.__init__(self) @@ -1364,6 +1365,22 @@ class Package(Task): def _set_use(self, k, v): self._pkg.use = self._pkg._use(v.split()) + def _set_counter(self, k, v): + if isinstance(v, basestring): + try: + v = int(v.strip()) + except ValueError: + v = 0 + self._pkg.counter = v + + def _set__mtime_(self, k, v): + if isinstance(v, basestring): + try: + v = float(v.strip()) + except ValueError: + v = 0 + self._pkg.mtime = v + def _get_hash_key(self): hash_key = getattr(self, "_hash_key", None) if hash_key is None: -- cgit v1.2.3-1-g7c22