commit 7e868202f14f6cbd756264c0f9aa4ebf4a377e4c Author: Michal Srb msrb@redhat.com Date: Fri Nov 28 14:22:09 2014 +0100
[osgi] Add class method for creating OSGiBundle from metadata properties
python/javapackages/common/osgi.py | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) --- diff --git a/python/javapackages/common/osgi.py b/python/javapackages/common/osgi.py index 271bbdb..b029ed5 100644 --- a/python/javapackages/common/osgi.py +++ b/python/javapackages/common/osgi.py @@ -123,6 +123,30 @@ class OSGiBundle(object): return None return cls(bundle, version=version, requires=requires)
+ @classmethod + def from_properties(cls, properties): + osgi_id = "" + version = "" + try: + osgi_id = properties["osgi.id"] + version = properties["osgi.version"] + except KeyError: + return None + bundle, _, namespace, _ = OSGiBundle.parse(osgi_id) + + requires = [] + try: + reqstr = properties["osgi.requires"] + for r in reqstr.split(","): + req = OSGiRequire.from_string(r) + if req: + requires.append(req) + except: + pass + + return cls(bundle, version=version, namespace=namespace, + requires=requires) + def get_rpm_str(self, version="", namespace=""): return "{ns}{d}osgi({bundle}) = {version}".format(ns=namespace or self.namespace, d="-" if self.namespace else "",
java-sig-commits@lists.fedoraproject.org