commit 7e868202f14f6cbd756264c0f9aa4ebf4a377e4c
Author: Michal Srb <msrb(a)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 "",
Show replies by date