From 59f789a300a94187108c47e7949b55f1c01c8ec5 Mon Sep 17 00:00:00 2001 From: "Adam D. Barratt" Date: Wed, 31 Aug 2011 20:07:35 +0000 Subject: [PATCH] migrationitem: allow for the specification of version information. The new convenience HintItem class automatically sets the "this item contains version information" flag when creating a new item. Signed-off-by: Adam D. Barratt --- migrationitem.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/migrationitem.py b/migrationitem.py index dcc7e4d..2474681 100644 --- a/migrationitem.py +++ b/migrationitem.py @@ -13,11 +13,12 @@ # GNU General Public License for more details. class MigrationItem: - def __init__(self, name = None): + def __init__(self, name = None, versionned = False): self._name = None self._version = None self._architecture = None self._suite = None + self._versionned = versionned if name: self._set_name(name) @@ -36,10 +37,17 @@ class MigrationItem: self._package, self._suite = package.split('_', 2) else: self._package, self._suite = (package, 'unstable') - if len(parts) == 2: - self._architecture = parts[1] + if self._versionned: + self._version = parts[1] + if len(parts) == 3: + self._architecture = parts[2] + else: + self._architecture = 'source' else: - self._architecture = 'source' + if len(parts) == 2: + self._architecture = parts[1] + else: + self._architecture = 'source' if '_' in self._architecture: self_architecture, self._suite = \ @@ -69,3 +77,7 @@ class MigrationItem: @property def version(self): return self._version + +class HintItem(MigrationItem): + def __init__(self, name = None): + MigrationItem.__init__(self, name = name, versionned = True)