DocumentationTools/QtHelpGenerator.py

changeset 253
3ccdf551bde7
parent 96
9624a110667d
child 406
eacf81fad150
child 792
a13346916170
--- a/DocumentationTools/QtHelpGenerator.py	Sat May 15 10:19:07 2010 +0200
+++ b/DocumentationTools/QtHelpGenerator.py	Sat May 15 15:29:39 2010 +0200
@@ -167,19 +167,40 @@
                 joinext("index-%s" % package, ".html"))
         for subpack in sorted(self.packages[package]["subpackages"]):
             s += self.__generateSections(subpack, level + 1)
+            s += '\n'
         for mod in sorted(self.packages[package]["modules"]):
             s += indent1 + '<section title="%s" ref="%s" />\n' % \
                 (mod, joinext(mod, ".html"))
-        s += indent + '</section>\n'
+        s += indent + '</section>'
         return s
     
-    def generateFiles(self, basename = ""):
+    def __convertEol(self, txt, newline):
+        """
+        Private method to convert the newline characters.
+        
+        @param txt text to be converted (string)
+        @param newline newline character to be used (string)
+        @return converted text (string)
+        """
+        # step 1: normalize eol to '\n'
+        txt = txt.replace("\r\n", "\n").replace("\r", "\n")
+        
+        # step 2: convert to the target eol
+        if newline is None:
+            return txt.replace("\n", os.linesep)
+        elif newline in ["\r", "\r\n"]:
+            return txt.replace("\n", newline)
+        else:
+            return txt
+    
+    def generateFiles(self, basename = "", newline = None):
         """
         Public method to generate all index files.
         
         @param basename The basename of the file hierarchy to be documented.
             The basename is stripped off the filename if it starts with
             the basename.
+        @param newline newline character to be used (string)
         """
         if not self.remembered:
             sys.stderr.write("No QtHelp to generate.\n")
@@ -210,8 +231,9 @@
             "files" : files, 
         }
         
+        txt = self.__convertEol(HelpProject % helpAttribs, newline)
         f = codecs.open(os.path.join(self.outputDir, HelpProjectFile), 'w', 'utf-8')
-        f.write(HelpProject % helpAttribs)
+        f.write(txt)
         f.close()
         
         if self.createCollection and \
@@ -219,10 +241,11 @@
             collectionAttribs = {
                 "helpfile" : HelpHelpFile, 
             }
-        
+            
+            txt = self.__convertEol(HelpCollection % collectionAttribs, newline)
             f = codecs.open(os.path.join(self.outputDir, HelpCollectionProjectFile), 
                             'w', 'utf-8')
-            f.write(HelpCollection % collectionAttribs)
+            f.write(txt)
             f.close()
         
         sys.stdout.write("QtHelp files written.\n")

eric ide

mercurial