commit 9f1833e1751f8a27c3fe735b277cadf8874c57e9
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu Jun 5 14:22:19 2014 +0200
[artifact] Implement update_from() and compare_to()
python/javapackages/maven/artifact.py | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/python/javapackages/maven/artifact.py
b/python/javapackages/maven/artifact.py
index 88be309..de6fd9f 100644
--- a/python/javapackages/maven/artifact.py
+++ b/python/javapackages/maven/artifact.py
@@ -138,6 +138,29 @@ class AbstractArtifact(object):
setattr(self, member, getattr(artifact, member))
return True
+ def update_from(self, artifact):
+ if self.compare_to(artifact):
+ for member in self.__dict__:
+ if not member.startswith('_') and not getattr(self, member):
+ setattr(self, member, getattr(artifact, member))
+ return True
+ return False
+
+ def compare_to(self, artifact):
+ if type(self) != type(artifact):
+ return False
+ this = self.__get_significant_members()
+ other = artifact.__get_significant_members()
+ try:
+ del this['version']
+ del other['version']
+ except KeyError:
+ pass
+
+ if this == other:
+ return True
+ return False
+
def __unicode__(self):
return unicode(self.get_mvn_str())
Show replies by date