__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)
"""
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)
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: