[java-sig-commits] [javapackages] Normalize manifest lines.

Alexander Kurtakov akurtakov at fedoraproject.org
Thu Sep 15 12:40:58 UTC 2011


commit 3660188328d588102323107e04016d5ea4507c30
Author: Alexander Kurtakov <akurtako at redhat.com>
Date:   Thu Sep 15 15:36:32 2011 +0300

    Normalize manifest lines.

 depgenerators/osgi.prov |   12 ++++++++++--
 depgenerators/osgi.req  |   29 ++++++++++++++---------------
 2 files changed, 24 insertions(+), 17 deletions(-)
---
diff --git a/depgenerators/osgi.prov b/depgenerators/osgi.prov
index 49b3ace..0522690 100755
--- a/depgenerators/osgi.prov
+++ b/depgenerators/osgi.prov
@@ -59,10 +59,18 @@ class TagBuilder:
         for path in paths:
 	        self.get_osgi_provide (path)
     
-
+    def normalize_manifest(self, manifest):
+        lines = []
+        for line in manifest.readlines():
+            if line.startswith(' '):
+                lines[-1] += line.strip()
+            else:
+                lines.append(line.strip())
+        return lines
+    
     def handle_manifest(self, manifest):
         provideInfo = OsgiProvideInfo()
-        for line in manifest.readlines():
+        for line in self.normalize_manifest(manifest):
             if line.startswith("Bundle-SymbolicName:"):
                 provideInfo.setSymbolicName(line.split(':')[1].strip())
             if line.startswith("Bundle-Version:"):
diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req
index 901d64e..2bcd312 100755
--- a/depgenerators/osgi.req
+++ b/depgenerators/osgi.req
@@ -43,37 +43,36 @@ class TagBuilder:
         for path in paths:
             self.get_osgi_require (path)
     
+    def normalize_manifest(self, manifest):
+        lines = []
+        for line in manifest.readlines():
+            if line.startswith(' '):
+                lines[-1] += line.strip()
+            else:
+                lines.append(line.strip())
+        return lines
+    
     def parse_manifest (self, manifest):
         headers = {}
         DELIM = ": "
-        name = None
-        for line in manifest.readlines():
+        for line in self.normalize_manifest(manifest):
             split = line.split(DELIM)
-            if not name:
+            if len(split) > 1:
                 name = split[0].strip()
                 headers[name]= split[1].strip()
-            else:
-                if len(split) < 2:
-                    headers[name] = headers[name]+line.strip()
-                else:
-                    name = split[0].strip()
-                    headers[name]= split[1].strip()
         return headers
     
     def split_bundle_name (self, bundles):
         bundlenames = []
         for bundle in bundles.split(','):
-            if ")" in bundle or "]" in bundle >0:
+            if ")" in bundle or "]" in bundle:
                 continue
             if ";" in bundle:
                 bundlenames.append(bundle.split(";")[0].strip())
             else:
-                bundlenames.append(bundle)
-                
+                bundlenames.append(bundle.strip())
         return bundlenames
-                
-            
-	  
+    
     def get_osgi_require (self, path):
         if not os.path.islink(path):
             if zipfile.is_zipfile(path):


More information about the java-sig-commits mailing list