Did the last changes to the Windows related install stuff.

Sun, 20 Feb 2011 19:00:53 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 20 Feb 2011 19:00:53 +0100
changeset 908
d00447340771
parent 907
74904673b366
child 910
dc2436a9e2a1

Did the last changes to the Windows related install stuff.

Documentation/Source/eric5.eric5-api.html file | annotate | diff | comparison | revisions
Documentation/Source/eric5.eric5-doc.html file | annotate | diff | comparison | revisions
Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.py file | annotate | diff | comparison | revisions
Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py file | annotate | diff | comparison | revisions
Plugins/PluginEricapi.py file | annotate | diff | comparison | revisions
Plugins/PluginEricdoc.py file | annotate | diff | comparison | revisions
eric5-api.py file | annotate | diff | comparison | revisions
eric5-doc.py file | annotate | diff | comparison | revisions
eric5.e4p file | annotate | diff | comparison | revisions
eric5_api.py file | annotate | diff | comparison | revisions
eric5_doc.py file | annotate | diff | comparison | revisions
i18n/eric5_cs.ts file | annotate | diff | comparison | revisions
i18n/eric5_de.qm file | annotate | diff | comparison | revisions
i18n/eric5_de.ts file | annotate | diff | comparison | revisions
i18n/eric5_en.ts file | annotate | diff | comparison | revisions
i18n/eric5_es.ts file | annotate | diff | comparison | revisions
i18n/eric5_fr.ts file | annotate | diff | comparison | revisions
i18n/eric5_it.ts file | annotate | diff | comparison | revisions
i18n/eric5_ru.ts file | annotate | diff | comparison | revisions
i18n/eric5_tr.ts file | annotate | diff | comparison | revisions
i18n/eric5_zh_CN.GB2312.ts file | annotate | diff | comparison | revisions
install.py file | annotate | diff | comparison | revisions
uninstall.py file | annotate | diff | comparison | revisions
--- a/Documentation/Source/eric5.eric5-api.html	Sun Feb 20 18:50:59 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html><head>
-<title>eric5.eric5-api</title>
-<style>
-body {
-    background: #EDECE6;
-    margin: 0em 1em 10em 1em;
-    color: black;
-}
-
-h1 { color: white; background: #85774A; }
-h2 { color: white; background: #85774A; }
-h3 { color: white; background: #9D936E; }
-h4 { color: white; background: #9D936E; }
-    
-a { color: #BA6D36; }
-
-</style>
-</head>
-<body><a NAME="top" ID="top"></a>
-<h1>eric5.eric5-api</h1>
-<p>
-Eric5 API Generator
-</p><p>
-This is the main Python script of the API generator. It is
-this script that gets called via the API generation interface.
-This script can be used via the commandline as well.
-</p>
-<h3>Global Attributes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Classes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Functions</h3>
-<table>
-<tr>
-<td><a href="#main">main</a></td>
-<td>Main entry point into the application.</td>
-</tr><tr>
-<td><a href="#usage">usage</a></td>
-<td>Function to print some usage information.</td>
-</tr><tr>
-<td><a href="#version">version</a></td>
-<td>Function to show the version information.</td>
-</tr>
-</table>
-<hr /><hr />
-<a NAME="main" ID="main"></a>
-<h2>main</h2>
-<b>main</b>(<i></i>)
-<p>
-    Main entry point into the application.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="usage" ID="usage"></a>
-<h2>usage</h2>
-<b>usage</b>(<i></i>)
-<p>
-    Function to print some usage information.
-</p><p>
-    It prints a reference of all commandline parameters that may
-    be used and ends the application.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="version" ID="version"></a>
-<h2>version</h2>
-<b>version</b>(<i></i>)
-<p>
-    Function to show the version information.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric5.eric5-doc.html	Sun Feb 20 18:50:59 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html><head>
-<title>eric5.eric5-doc</title>
-<style>
-body {
-    background: #EDECE6;
-    margin: 0em 1em 10em 1em;
-    color: black;
-}
-
-h1 { color: white; background: #85774A; }
-h2 { color: white; background: #85774A; }
-h3 { color: white; background: #9D936E; }
-h4 { color: white; background: #9D936E; }
-    
-a { color: #BA6D36; }
-
-</style>
-</head>
-<body><a NAME="top" ID="top"></a>
-<h1>eric5.eric5-doc</h1>
-<p>
-Eric5 Documentation Generator
-</p><p>
-This is the main Python script of the documentation generator. It is
-this script that gets called via the source documentation interface.
-This script can be used via the commandline as well.
-</p>
-<h3>Global Attributes</h3>
-<table>
-<tr><td>supportedExtensions</td></tr>
-</table>
-<h3>Classes</h3>
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Functions</h3>
-<table>
-<tr>
-<td><a href="#main">main</a></td>
-<td>Main entry point into the application.</td>
-</tr><tr>
-<td><a href="#usage">usage</a></td>
-<td>Function to print some usage information.</td>
-</tr><tr>
-<td><a href="#version">version</a></td>
-<td>Function to show the version information.</td>
-</tr>
-</table>
-<hr /><hr />
-<a NAME="main" ID="main"></a>
-<h2>main</h2>
-<b>main</b>(<i></i>)
-<p>
-    Main entry point into the application.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="usage" ID="usage"></a>
-<h2>usage</h2>
-<b>usage</b>(<i></i>)
-<p>
-    Function to print some usage information.
-</p><p>
-    It prints a reference of all commandline parameters that may
-    be used and ends the application.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
-<a NAME="version" ID="version"></a>
-<h2>version</h2>
-<b>version</b>(<i></i>)
-<p>
-    Function to show the version information.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- a/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.py	Sun Feb 20 18:50:59 2011 +0100
+++ b/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.py	Sun Feb 20 19:00:53 2011 +0100
@@ -4,7 +4,7 @@
 #
 
 """
-Module implementing a dialog to enter the parameters for eric5-api.
+Module implementing a dialog to enter the parameters for eric5_api.
 """
 
 import sys
@@ -25,7 +25,7 @@
 
 class EricapiConfigDialog(QDialog, Ui_EricapiConfigDialog):
     """
-    Class implementing a dialog to enter the parameters for eric5-api.
+    Class implementing a dialog to enter the parameters for eric5_api.
     """
     def __init__(self, project, parms = None, parent = None):
         """
@@ -117,7 +117,7 @@
         
         # 1. the program name
         args.append(sys.executable)
-        args.append(Utilities.normabsjoinpath(getConfig('ericDir'), "eric5-api.py"))
+        args.append(Utilities.normabsjoinpath(getConfig('ericDir'), "eric5_api.py"))
         
         # 2. the commandline options
         if self.parameters['outputFile'] != self.defaults['outputFile']:
--- a/Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py	Sun Feb 20 18:50:59 2011 +0100
+++ b/Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.py	Sun Feb 20 19:00:53 2011 +0100
@@ -4,7 +4,7 @@
 #
 
 """
-Module implementing a dialog to enter the parameters for eric5-doc.
+Module implementing a dialog to enter the parameters for eric5_doc.
 """
 
 import sys
@@ -25,7 +25,7 @@
 
 class EricdocConfigDialog(QDialog, Ui_EricdocConfigDialog):
     """
-    Class implementing a dialog to enter the parameters for eric5-doc.
+    Class implementing a dialog to enter the parameters for eric5_doc.
     """
     def __init__(self, project, parms = None, parent = None):
         """
@@ -156,7 +156,7 @@
         
         # 1. the program name
         args.append(sys.executable)
-        args.append(Utilities.normabsjoinpath(getConfig('ericDir'), "eric5-doc.py"))
+        args.append(Utilities.normabsjoinpath(getConfig('ericDir'), "eric5_doc.py"))
         
         # 2. the commandline options
         # 2a. general commandline options
--- a/Plugins/PluginEricapi.py	Sun Feb 20 18:50:59 2011 +0100
+++ b/Plugins/PluginEricapi.py	Sun Feb 20 19:00:53 2011 +0100
@@ -46,7 +46,7 @@
     @return dictionary containing the data to query the presence of
         the executable
     """
-    exe = 'eric5-api'
+    exe = 'eric5_api'
     if Utilities.isWindowsPlatform():
         exe = os.path.join(getConfig("bindir"), exe +'.bat')
     
@@ -56,7 +56,7 @@
                                 "Eric5 API File Generator"), 
         "exe"               : exe, 
         "versionCommand"    : '--version', 
-        "versionStartsWith" : 'eric5-', 
+        "versionStartsWith" : 'eric5_', 
         "versionPosition"   : -3, 
         "version"           : "", 
         "versionCleanup"    : None, 
@@ -92,14 +92,14 @@
         """
         menu = e5App().getObject("Project").getMenu("Apidoc")
         if menu:
-            self.__projectAct = E5Action(self.trUtf8('Generate API file (eric5-api)'),
-                    self.trUtf8('Generate &API file (eric5-api)'), 0, 0,
+            self.__projectAct = E5Action(self.trUtf8('Generate API file (eric5_api)'),
+                    self.trUtf8('Generate &API file (eric5_api)'), 0, 0,
                     self, 'doc_eric5_api')
             self.__projectAct.setStatusTip(
-                self.trUtf8('Generate an API file using eric5-api'))
+                self.trUtf8('Generate an API file using eric5_api'))
             self.__projectAct.setWhatsThis(self.trUtf8(
                 """<b>Generate API file</b>"""
-                """<p>Generate an API file using eric5-api.</p>"""
+                """<p>Generate an API file using eric5_api.</p>"""
             ))
             self.__projectAct.triggered[()].connect(self.__doEricapi)
             e5App().getObject("Project").addE5Actions([self.__projectAct])
@@ -137,7 +137,7 @@
     
     def __doEricapi(self):
         """
-        Private slot to perform the eric5-api api generation.
+        Private slot to perform the eric5_api api generation.
         """
         eolTranslation = {
             '\r' : 'cr', 
--- a/Plugins/PluginEricdoc.py	Sun Feb 20 18:50:59 2011 +0100
+++ b/Plugins/PluginEricdoc.py	Sun Feb 20 19:00:53 2011 +0100
@@ -49,8 +49,8 @@
     """
     dataList = []
     
-    # 1. eric5-doc
-    exe = 'eric5-doc'
+    # 1. eric5_doc
+    exe = 'eric5_doc'
     if Utilities.isWindowsPlatform():
         exe = os.path.join(getConfig("bindir"), exe +'.bat')
     dataList.append({
@@ -59,7 +59,7 @@
                                 "Eric5 Documentation Generator"), 
         "exe"               : exe, 
         "versionCommand"    : '--version', 
-        "versionStartsWith" : 'eric5-', 
+        "versionStartsWith" : 'eric5_', 
         "versionPosition"   : -3, 
         "version"           : "", 
         "versionCleanup"    : None, 
@@ -128,14 +128,14 @@
         menu = e5App().getObject("Project").getMenu("Apidoc")
         if menu:
             self.__projectAct = \
-                E5Action(self.trUtf8('Generate documentation (eric5-doc)'),
-                    self.trUtf8('Generate &documentation (eric5-doc)'), 0, 0,
+                E5Action(self.trUtf8('Generate documentation (eric5_doc)'),
+                    self.trUtf8('Generate &documentation (eric5_doc)'), 0, 0,
                     self, 'doc_eric5_doc')
             self.__projectAct.setStatusTip(
-                self.trUtf8('Generate API documentation using eric5-doc'))
+                self.trUtf8('Generate API documentation using eric5_doc'))
             self.__projectAct.setWhatsThis(self.trUtf8(
                 """<b>Generate documentation</b>"""
-                """<p>Generate API documentation using eric5-doc.</p>"""
+                """<p>Generate API documentation using eric5_doc.</p>"""
             ))
             self.__projectAct.triggered[()].connect(self.__doEricdoc)
             e5App().getObject("Project").addE5Actions([self.__projectAct])
@@ -173,7 +173,7 @@
     
     def __doEricdoc(self):
         """
-        Private slot to perform the eric5-doc api documentation generation.
+        Private slot to perform the eric5_doc api documentation generation.
         """
         eolTranslation = {
             '\r' : 'cr', 
@@ -199,7 +199,7 @@
             
             outdir = Utilities.toNativeSeparators(parms['outputDirectory'])
             if outdir == '':
-                outdir = 'doc'      # that is eric5-docs default output dir
+                outdir = 'doc'      # that is eric5_docs default output dir
                 
             # add it to the project data, if it isn't in already
             outdir = project.getRelativePath(outdir)
@@ -211,7 +211,7 @@
             if parms['qtHelpEnabled']:
                 outdir = Utilities.toNativeSeparators(parms['qtHelpOutputDirectory'])
                 if outdir == '':
-                    outdir = 'help'      # that is eric5-docs default QtHelp output dir
+                    outdir = 'help'      # that is eric5_docs default QtHelp output dir
                     
                 # add it to the project data, if it isn't in already
                 outdir = project.getRelativePath(outdir)
--- a/eric5-api.py	Sun Feb 20 18:50:59 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2003 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Eric5 API Generator
-
-This is the main Python script of the API generator. It is
-this script that gets called via the API generation interface.
-This script can be used via the commandline as well.
-"""
-
-import glob
-import os
-import sys
-import fnmatch
-
-import Utilities.ModuleParser
-from DocumentationTools.APIGenerator import APIGenerator
-from UI.Info import Version
-import Utilities
-import DocumentationTools
-
-def usage():
-    """
-    Function to print some usage information.
-    
-    It prints a reference of all commandline parameters that may
-    be used and ends the application.
-    """
-    print("eric5-api")
-    print()
-    print("Copyright (c) 2004 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>.")
-    print()
-    print("Usage:")
-    print()
-    print("  eric5-api [options] files...")
-    print()
-    print("where files can be either python modules, package")
-    print("directories or ordinary directories.")
-    print()
-    print("Options:")
-    print()
-    print("  -b name or --base=name")
-    print("        Use the given name as the name of the base package.")
-    print("  -e eol-type or --eol=eol-type")
-    print("        Use the given eol type to terminate lines.")
-    print("        Valid values are 'cr', 'lf' and 'crlf'.")
-    print("  --exclude-file=pattern")
-    print("        Specify a filename pattern of files to be excluded.")
-    print("        This option may be repeated multiple times.")
-    print("  -h or --help")
-    print("        Show this help and exit.")
-    print("  -l language or --language=language")
-    print("        Generate an API file for the given programming language.")
-    print("        Supported programming languages are:")
-    print("  -o filename or --output=filename")
-    print("        Write the API information to the named file. A '%L' placeholder")
-    print("        is replaced by the language of the API file (see --language).")
-    print("  -p or --private")
-    print("        Include private methods and functions.")
-    print("  -R, -r or --recursive")
-    print("        Perform a recursive search for source files.")
-    print("  -t ext or --extension=ext")
-    print("        Add the given extension to the list of file extensions.")
-    print("        This option may be given multiple times.")
-    print("  -V or --version")
-    print("        Show version information and exit.")
-    print("  -x directory or --exclude=directory")
-    print("        Specify a directory basename to be excluded.")
-    print("        This option may be repeated multiple times.")
-    for lang in sorted(DocumentationTools.supportedExtensionsDictForApis.keys()):
-        print("            * {0}".format(lang))
-    print("        The default is 'Python3'.")
-    print("        This option may be repeated multiple times.")
-    sys.exit(1)
-
-def version():
-    """
-    Function to show the version information.
-    """
-    print("""eric5-api  {0}
-
-Eric5 API generator.
-
-Copyright (c) 2004 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
-This is free software; see the LICENSE.GPL3 for copying conditions.
-There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE.""".format(Version))
-    sys.exit(1)
-
-def main():
-    """
-    Main entry point into the application.
-    """
-    global supportedExtensions
-
-    import getopt
-
-    try:
-        opts, args = getopt.getopt(sys.argv[1:], "b:e:hl:o:pRrt:Vx:",
-            ["base=", "eol=", "exclude=", "exclude-file=", "extension=", "help",
-             "language=", "output=", "private", "recursive", 
-             "version", ])
-    except getopt.error:
-        usage()
-
-    excludeDirs = ["CVS", ".svn", "_svn", ".ropeproject", "_ropeproject", 
-                   ".eric5project", "_eric5project", "dist", "build", "doc", "docs"]
-    excludePatterns = []
-    outputFileName = ""
-    recursive = False
-    basePackage = ""
-    includePrivate = False
-    progLanguages = []
-    extensions = []
-    newline = None
-
-    for k, v in opts:
-        if k in ["-o", "--output"]:
-            outputFileName = v
-        elif k in ["-R", "-r", "--recursive"]:
-            recursive = True
-        elif k in ["-x", "--exclude"]:
-            excludeDirs.append(v)
-        elif k == "--exclude-file":
-            excludePatterns.append(v)
-        elif k in ["-h", "--help"]:
-            usage()
-        elif k in ["-V", "--version"]:
-            version()
-        elif k in ["-t", "--extension"]:
-            if not v.startswith("."):
-                v = ".{0}".format(v)
-            extensions.append(v)
-        elif k in ["-b", "--base"]:
-            basePackage = v
-        elif k in ["-p", "--private"]:
-            includePrivate = True
-        elif k in ["-l", "--language"]:
-            if v not in progLanguages:
-                if v not in \
-                   list(DocumentationTools.supportedExtensionsDictForApis.keys()):
-                    sys.stderr.write("Wrong language given: {0}. Aborting\n".format(v))
-                    sys.exit(1)
-                else:
-                    progLanguages.append(v)
-        elif k in ["-e", "--eol"]:
-            if v.lower() == "cr":
-                newline = '\r'
-            elif v.lower() == "lf":
-                newline = '\n'
-            elif v.lower() == "crlf":
-                newline = '\r\n'
-
-    if not args:
-        usage()
-
-    if outputFileName == "":
-        sys.stderr.write("No output file given. Aborting\n")
-        sys.exit(1)
-    
-    if len(progLanguages) == 0:
-        progLanguages = ["Python3"]
-    
-    for progLanguage in sorted(progLanguages):
-        basename = ""
-        apis = []
-
-        supportedExtensions = \
-            DocumentationTools.supportedExtensionsDictForApis[progLanguage]
-        supportedExtensions.extend(extensions)
-        if "%L" in outputFileName:
-            outputFile = outputFileName.replace("%L", progLanguage)
-        else:
-            if len(progLanguages) == 1:
-                outputFile = outputFileName
-            else:
-                root, ext = os.path.splitext(outputFileName)
-                outputFile = "{0}-{1}{2}".format(root, progLanguage.lower(), ext)
-        
-        for arg in args:
-            if os.path.isdir(arg):
-                if os.path.exists(os.path.join(arg, 
-                                               Utilities.joinext("__init__", ".py"))):
-                    basename = os.path.dirname(arg)
-                    if arg == '.':
-                        sys.stderr.write("The directory '.' is a package.\n")
-                        sys.stderr.write("Please repeat the call giving its real name.\n")
-                        sys.stderr.write("Ignoring the directory.\n")
-                        continue
-                else:
-                    basename = arg
-                if basename:
-                    basename = "{0}{1}".format(basename, os.sep)
-                    
-                if recursive and not os.path.islink(arg):
-                    names = [arg] + Utilities.getDirs(arg, excludeDirs)
-                else:
-                    names = [arg]
-            else:
-                basename = ""
-                names = [arg]
-            
-            for filename in sorted(names):
-                inpackage = False
-                if os.path.isdir(filename):
-                    files = []
-                    for ext in supportedExtensions:
-                        files.extend(glob.glob(os.path.join(filename,
-                                                            Utilities.joinext("*", ext))))
-                        initFile = os.path.join(filename, 
-                                                Utilities.joinext("__init__", ext))
-                        if initFile in files:
-                            inpackage = True
-                            files.remove(initFile)
-                            files.insert(0, initFile)
-                        elif progLanguage != "Python3":
-                            # assume package
-                            inpackage = True
-                else:
-                    if Utilities.isWindowsPlatform() and glob.has_magic(filename):
-                        files = glob.glob(filename)
-                    else:
-                        files = [filename]
-                
-                for file in files:
-                    skipIt = False
-                    for pattern in excludePatterns:
-                        if fnmatch.fnmatch(os.path.basename(file), pattern):
-                            skipIt = True
-                            break
-                    if skipIt:
-                        continue
-                    
-                    try:
-                        module = Utilities.ModuleParser.readModule(file, 
-                            basename = basename, inpackage = inpackage)
-                        apiGenerator = APIGenerator(module)
-                        api = apiGenerator.genAPI(True, basePackage, includePrivate)
-                    except IOError as v:
-                        sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
-                        continue
-                    except ImportError as v:
-                        sys.stderr.write("{0} error: {1}\n".format(file, v))
-                        continue
-                    
-                    for apiEntry in api:
-                        if not apiEntry in apis:
-                            apis.append(apiEntry)
-                    sys.stdout.write("-- {0} -- {1} ok\n".format(progLanguage, file))
-
-        outdir = os.path.dirname(outputFile)
-        if outdir and not os.path.exists(outdir):
-            os.makedirs(outdir)
-        try:
-            out = open(outputFile, "w", encoding = "utf-8", newline = newline)
-            out.write("\n".join(sorted(apis)) + "\n")
-            out.close()
-        except IOError as v:
-            sys.stderr.write("{0} error: {1}\n".format(outputFile, v[1]))
-            sys.exit(3)
-    
-    sys.stdout.write('\nDone.\n')
-    sys.exit(0)
-
-if __name__ == '__main__':
-    main()
--- a/eric5-doc.py	Sun Feb 20 18:50:59 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,403 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2003 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Eric5 Documentation Generator
-
-This is the main Python script of the documentation generator. It is
-this script that gets called via the source documentation interface.
-This script can be used via the commandline as well.
-"""
-
-import glob
-import os
-import sys
-import fnmatch
-
-import Utilities.ModuleParser
-from DocumentationTools.ModuleDocumentor import ModuleDocument
-from DocumentationTools.IndexGenerator import IndexGenerator
-from DocumentationTools.QtHelpGenerator import QtHelpGenerator
-from DocumentationTools.Config import eric5docDefaultColors
-from UI.Info import Version
-import Utilities
-
-# list of supported filename extensions
-supportedExtensions = [".py", ".pyw", ".ptl", ".rb"]    
-
-def usage():
-    """
-    Function to print some usage information.
-    
-    It prints a reference of all commandline parameters that may
-    be used and ends the application.
-    """
-    print("eric5-doc")
-    print()
-    print("Copyright (c) 2003 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>.")
-    print()
-    print("Usage:")
-    print()
-    print("  eric5-doc [options] files...")
-    print()
-    print("where files can be either python modules, package")
-    print("directories or ordinary directories.")
-    print()
-    print("Options:")
-    print()
-    print("  -c filename or --style-sheet=filename")
-    print("        Specify a CSS style sheet file to be used.")
-    print("  -e or --noempty")
-    print("        Don't include empty modules.")
-    print("  --eol=eol-type")
-    print("        Use the given eol type to terminate lines.")
-    print("        Valid values are 'cr', 'lf' and 'crlf'.")
-    print("  --exclude-file=pattern")
-    print("        Specify a filename pattern of files to be excluded.")
-    print("        This option may be repeated multiple times.")
-    print("  -h or --help")
-    print("        Show this help and exit.")
-    print("  -i or --noindex")
-    print("        Don't generate index files.")
-    print("  -o directory or --outdir=directory")
-    print("        Generate files in the named directory.")
-    print("  -R, -r or --recursive")
-    print("        Perform a recursive search for Python files.")
-    print("  -t ext or --extension=ext")
-    print("        Add the given extension to the list of file extensions.")
-    print("        This option may be given multiple times.")
-    print("  -V or --version")
-    print("        Show version information and exit.")
-    print("  -x directory or --exclude=directory")
-    print("        Specify a directory basename to be excluded.")
-    print("        This option may be repeated multiple times.")
-    print()
-    print("  --body-color=color")
-    print("        Specify the text color.")
-    print("  --body-background-color=color")
-    print("        Specify the text background color.")
-    print("  --l1header-color=color")
-    print("        Specify the text color of level 1 headers.")
-    print("  --l1header-background-color=color")
-    print("        Specify the text background color of level 1 headers.")
-    print("  --l2header-color=color")
-    print("        Specify the text color of level 2 headers.")
-    print("  --l2header-background-color=color")
-    print("        Specify the text background color of level 2 headers.")
-    print("  --cfheader-color=color")
-    print("        Specify the text color of class and function headers.")
-    print("  --cfheader-background-color=color")
-    print("        Specify the text background color of class and function headers.")
-    print("  --link-color=color")
-    print("        Specify the text color of hyperlinks.")
-    print()
-    print("  --create-qhp")
-    print("        Enable generation of QtHelp files.")
-    print("  --qhp-outdir=directory")
-    print("        Generate QtHelp files in the named directory.")
-    print("  --qhp-namespace=namespace")
-    print("        Use the given namespace (mandatory).")
-    print("  --qhp-virtualfolder=folder")
-    print("        Use the given virtual folder (mandatory).")
-    print("        The virtual folder must not contain '/'.")
-    print("  --qhp-filtername=name")
-    print("        Use the given name for the custom filter.")
-    print("  --qhp-filterattribs=attributes")
-    print("        Add the given attributes to the filter list.")
-    print("        Attributes must be separated by ':'.")
-    print("  --qhp-title=title")
-    print("        Use this as the title for the generated help (mandatory).")
-    print("  --create-qhc")
-    print("        Enable generation of QtHelp Collection files.")
-    sys.exit(1)
-
-def version():
-    """
-    Function to show the version information.
-    """
-    print("""eric5-doc  {0}
-
-Eric5 API documentation generator.
-
-Copyright (c) 2003-2011 Detlev Offenbach <detlev@die-offenbachs.de>
-This is free software; see the LICENSE.GPL3 for copying conditions.
-There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE.""".format(Version))
-    sys.exit(1)
-
-def main():
-    """
-    Main entry point into the application.
-    """
-
-    import getopt
-
-    try:
-        opts, args = getopt.getopt(sys.argv[1:], "c:ehio:Rrt:Vx:",
-            ["exclude=", "extension=", "help", "noindex", "noempty", "outdir=",
-             "recursive", "style-sheet=", "version",
-             "exclude-file=", "eol=", 
-             "body-color=", "body-background-color=", 
-             "l1header-color=", "l1header-background-color=",
-             "l2header-color=", "l2header-background-color=",
-             "cfheader-color=", "cfheader-background-color=",
-             "link-color=",
-             "create-qhp", "qhp-outdir=", "qhp-namespace=", 
-             "qhp-virtualfolder=", "qhp-filtername=", "qhp-filterattribs=", 
-             "qhp-title=", "create-qhc", 
-            ])
-    except getopt.error:
-        usage()
-
-    excludeDirs = ["CVS", ".svn", "_svn", ".ropeproject", "_ropeproject", 
-                   ".eric5project", "_eric5project", "dist", "build", "doc", "docs"]
-    excludePatterns = []
-    outputDir = "doc"
-    recursive = False
-    doIndex = True
-    noempty = False
-    newline = None
-    
-    stylesheetFile = ""
-    colors = eric5docDefaultColors.copy()
-    
-    qtHelpCreation = False
-    qtHelpOutputDir = "help"
-    qtHelpNamespace = ""
-    qtHelpFolder = "source"
-    qtHelpFilterName = "unknown"
-    qtHelpFilterAttribs = ""
-    qtHelpTitle = ""
-    qtHelpCreateCollection = False
-    
-    for k, v in opts:
-        if k in ["-o", "--outdir"]:
-            outputDir = v
-        elif k in ["-R", "-r", "--recursive"]:
-            recursive = True
-        elif k in ["-x", "--exclude"]:
-            excludeDirs.append(v)
-        elif k == "--exclude-file":
-            excludePatterns.append(v)
-        elif k in ["-i", "--noindex"]:
-            doIndex = False
-        elif k in ["-e", "--noempty"]:
-            noempty = True
-        elif k in ["-h", "--help"]:
-            usage()
-        elif k in ["-V", "--version"]:
-            version()
-        elif k in ["-c", "--style-sheet"]:
-            stylesheetFile = v
-        elif k in ["-t", "--extension"]:
-            if not v.startswith("."):
-                v = ".{0}".format(v)
-            supportedExtensions.append(v)
-        elif k == "--eol":
-            if v.lower() == "cr":
-                newline = '\r'
-            elif v.lower() == "lf":
-                newline = '\n'
-            elif v.lower() == "crlf":
-                newline = '\r\n'
-        
-        elif k == "--body-color":
-            colors['BodyColor'] = v
-        elif k == "--body-background-color":
-            colors['BodyBgColor'] = v
-        elif k == "--l1header-color":
-            colors['Level1HeaderColor'] = v
-        elif k == "--l1header-background-color":
-            colors['Level1HeaderBgColor'] = v
-        elif k == "--l2header-color":
-            colors['Level2HeaderColor'] = v
-        elif k == "--l2header-background-color":
-            colors['Level2HeaderBgColor'] = v
-        elif k == "--cfheader-color":
-            colors['CFColor'] = v
-        elif k == "--cfheader-background-color":
-            colors['CFBgColor'] = v
-        elif k == "--link-color":
-            colors['LinkColor'] = v
-        
-        elif k == "--create-qhp":
-            qtHelpCreation = True
-        elif k == "--qhp-outdir":
-            qtHelpOutputDir = v
-        elif k == "--qhp-namespace":
-            qtHelpNamespace = v
-        elif k == "--qhp-virtualfolder":
-            qtHelpFolder = v
-        elif k == "--qhp-filtername":
-            qtHelpFilterName = v
-        elif k == "--qhp-filterattribs":
-            qtHelpFilterAttribs = v
-        elif k == "--qhp-title":
-            qtHelpTitle = v
-        elif k == "--create-qhc":
-            qtHelpCreateCollection = True
-
-    if not args:
-        usage()
-    
-    if qtHelpCreation and \
-       (qtHelpNamespace == "" or \
-        qtHelpFolder == "" or '/' in qtHelpFolder or \
-        qtHelpTitle == ""):
-        usage()
-
-    input = output = 0
-    basename = ""
-
-    if outputDir:
-        if not os.path.isdir(outputDir):
-            try:
-                os.makedirs(outputDir)
-            except EnvironmentError:
-                sys.stderr.write(
-                    "Could not create output directory {0}.".format(outputDir))
-                sys.exit(2)
-    else:
-        outputDir = os.getcwd()
-    outputDir = os.path.abspath(outputDir)
-
-    if stylesheetFile:
-        try:
-            sf = open(stylesheetFile, "r", encoding = "utf-8")
-            stylesheet = sf.read()
-            sf.close()
-        except IOError:
-            sys.stderr.write(
-                "The CSS stylesheet '{0}' does not exist\n".format(stylesheetFile))
-            sys.stderr.write("Disabling CSS usage.\n")
-            stylesheet = None
-    else:
-        stylesheet = None
-    
-    indexGenerator = IndexGenerator(outputDir, colors, stylesheet)
-    
-    if qtHelpCreation:
-        if qtHelpOutputDir:
-            if not os.path.isdir(qtHelpOutputDir):
-                try:
-                    os.makedirs(qtHelpOutputDir)
-                except EnvironmentError:
-                    sys.stderr.write(
-                        "Could not create QtHelp output directory {0}.".format(
-                        qtHelpOutputDir))
-                    sys.exit(2)
-        else:
-            qtHelpOutputDir = os.getcwd()
-        qtHelpOutputDir = os.path.abspath(qtHelpOutputDir)
-        
-        qtHelpGenerator = QtHelpGenerator(outputDir, 
-                                          qtHelpOutputDir, qtHelpNamespace, qtHelpFolder, 
-                                          qtHelpFilterName, qtHelpFilterAttribs, 
-                                          qtHelpTitle, qtHelpCreateCollection)
-    
-    for arg in args:
-        if os.path.isdir(arg):
-            if os.path.exists(os.path.join(arg, Utilities.joinext("__init__", ".py"))):
-                basename = os.path.dirname(arg)
-                if arg == '.':
-                    sys.stderr.write("The directory '.' is a package.\n")
-                    sys.stderr.write("Please repeat the call giving its real name.\n")
-                    sys.stderr.write("Ignoring the directory.\n")
-                    continue
-            else:
-                basename = arg
-            if basename:
-                basename = "{0}{1}".format(basename, os.sep)
-            
-            if recursive and not os.path.islink(arg):
-                names = [arg] + Utilities.getDirs(arg, excludeDirs)
-            else:
-                names = [arg]
-        else:
-            basename = ""
-            names = [arg]
-        
-        for filename in names:
-            inpackage = False
-            if os.path.isdir(filename):
-                files = []
-                for ext in supportedExtensions:
-                    files.extend(glob.glob(os.path.join(filename,
-                                                        Utilities.joinext("*", ext))))
-                    initFile = os.path.join(filename, Utilities.joinext("__init__", ext))
-                    if initFile in files:
-                        inpackage = True
-                        files.remove(initFile)
-                        files.insert(0, initFile)
-            else:
-                if Utilities.isWindowsPlatform() and glob.has_magic(filename):
-                    files = glob.glob(filename)
-                else:
-                    files = [filename]
-            
-            for file in files:
-                skipIt = False
-                for pattern in excludePatterns:
-                    if fnmatch.fnmatch(os.path.basename(file), pattern):
-                        skipIt = True
-                        break
-                if skipIt:
-                    continue
-                
-                try:
-                    module = Utilities.ModuleParser.readModule(file, basename = basename, 
-                                inpackage = inpackage, extensions = supportedExtensions)
-                    moduleDocument = ModuleDocument(module, colors, stylesheet)
-                    doc = moduleDocument.genDocument()
-                except IOError as v:
-                    sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
-                    continue
-                except ImportError as v:
-                    sys.stderr.write("{0} error: {1}\n".format(file, v))
-                    continue
-                
-                input = input + 1
-                
-                f = Utilities.joinext(os.path.join(outputDir, moduleDocument.name()),
-                                      ".html")
-                
-                # remember for index file generation
-                indexGenerator.remember(file, moduleDocument, basename)
-                
-                # remember for QtHelp generation
-                if qtHelpCreation:
-                    qtHelpGenerator.remember(file, moduleDocument, basename)
-                
-                if (noempty or file.endswith('__init__.py')) \
-                   and moduleDocument.isEmpty():
-                    continue
-                
-                # generate output
-                try:
-                    out = open(f, "w", encoding = "utf-8", newline = newline)
-                    out.write(doc)
-                    out.close()
-                except IOError as v:
-                    sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
-                else:
-                    sys.stdout.write("{0} ok\n".format(f))
-                
-                output = output + 1
-    sys.stdout.flush()
-    sys.stderr.flush()
-
-    # write index files
-    if doIndex:
-        indexGenerator.writeIndices(basename, newline = newline)
-    
-    # generate the QtHelp files
-    if qtHelpCreation:
-        qtHelpGenerator.generateFiles(newline = newline)
-
-    sys.exit(0)
-
-if __name__ == '__main__':
-    main()
--- a/eric5.e4p	Sun Feb 20 18:50:59 2011 +0100
+++ b/eric5.e4p	Sun Feb 20 19:00:53 2011 +0100
@@ -8,8 +8,10 @@
   <Hash>df7daa8781250f7664e6ecaeaf1361fa2efd39ee</Hash>
   <ProgLanguage mixed="1">Python3</ProgLanguage>
   <ProjectType>Qt4</ProjectType>
-  <Description>eric5 is an integrated development environment for
the Python and Ruby language. It uses the PyQt4
bindings and the QScintilla2 editor widget.</Description>
-  <Version>5.1.0</Version>
+  <Description>eric5 is an integrated development environment for
+the Python and Ruby language. It uses the PyQt4
+bindings and the QScintilla2 editor widget.</Description>
+  <Version>5.2.0</Version>
   <Author>Detlev Offenbach</Author>
   <Email>detlev@die-offenbachs.de</Email>
   <TranslationPattern>i18n/eric5_%language%.ts</TranslationPattern>
@@ -678,8 +680,6 @@
     <Source>eric5config.py</Source>
     <Source>eric5.py</Source>
     <Source>eric5.pyw</Source>
-    <Source>eric5-doc.py</Source>
-    <Source>eric5-api.py</Source>
     <Source>DebugClients/Python/eric5dbgstub.py</Source>
     <Source>DebugClients/Python3/eric5dbgstub.py</Source>
     <Source>DebugClients/Python3/coverage/bytecode.py</Source>
@@ -869,6 +869,8 @@
     <Source>eric5_uipreviewer.pyw</Source>
     <Source>eric5_unittest.pyw</Source>
     <Source>eric5_webbrowser.pyw</Source>
+    <Source>eric5_api.py</Source>
+    <Source>eric5_doc.py</Source>
   </Sources>
   <Forms>
     <Form>PyUnit/UnittestDialog.ui</Form>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric5_api.py	Sun Feb 20 19:00:53 2011 +0100
@@ -0,0 +1,270 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2003 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Eric5 API Generator
+
+This is the main Python script of the API generator. It is
+this script that gets called via the API generation interface.
+This script can be used via the commandline as well.
+"""
+
+import glob
+import os
+import sys
+import fnmatch
+
+import Utilities.ModuleParser
+from DocumentationTools.APIGenerator import APIGenerator
+from UI.Info import Version
+import Utilities
+import DocumentationTools
+
+def usage():
+    """
+    Function to print some usage information.
+    
+    It prints a reference of all commandline parameters that may
+    be used and ends the application.
+    """
+    print("eric5_api")
+    print()
+    print("Copyright (c) 2004 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>.")
+    print()
+    print("Usage:")
+    print()
+    print("  eric5_api [options] files...")
+    print()
+    print("where files can be either python modules, package")
+    print("directories or ordinary directories.")
+    print()
+    print("Options:")
+    print()
+    print("  -b name or --base=name")
+    print("        Use the given name as the name of the base package.")
+    print("  -e eol-type or --eol=eol-type")
+    print("        Use the given eol type to terminate lines.")
+    print("        Valid values are 'cr', 'lf' and 'crlf'.")
+    print("  --exclude-file=pattern")
+    print("        Specify a filename pattern of files to be excluded.")
+    print("        This option may be repeated multiple times.")
+    print("  -h or --help")
+    print("        Show this help and exit.")
+    print("  -l language or --language=language")
+    print("        Generate an API file for the given programming language.")
+    print("        Supported programming languages are:")
+    print("  -o filename or --output=filename")
+    print("        Write the API information to the named file. A '%L' placeholder")
+    print("        is replaced by the language of the API file (see --language).")
+    print("  -p or --private")
+    print("        Include private methods and functions.")
+    print("  -R, -r or --recursive")
+    print("        Perform a recursive search for source files.")
+    print("  -t ext or --extension=ext")
+    print("        Add the given extension to the list of file extensions.")
+    print("        This option may be given multiple times.")
+    print("  -V or --version")
+    print("        Show version information and exit.")
+    print("  -x directory or --exclude=directory")
+    print("        Specify a directory basename to be excluded.")
+    print("        This option may be repeated multiple times.")
+    for lang in sorted(DocumentationTools.supportedExtensionsDictForApis.keys()):
+        print("            * {0}".format(lang))
+    print("        The default is 'Python3'.")
+    print("        This option may be repeated multiple times.")
+    sys.exit(1)
+
+def version():
+    """
+    Function to show the version information.
+    """
+    print("""eric5_api  {0}
+
+Eric5 API generator.
+
+Copyright (c) 2004 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
+This is free software; see the LICENSE.GPL3 for copying conditions.
+There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE.""".format(Version))
+    sys.exit(1)
+
+def main():
+    """
+    Main entry point into the application.
+    """
+    global supportedExtensions
+
+    import getopt
+
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], "b:e:hl:o:pRrt:Vx:",
+            ["base=", "eol=", "exclude=", "exclude-file=", "extension=", "help",
+             "language=", "output=", "private", "recursive", 
+             "version", ])
+    except getopt.error:
+        usage()
+
+    excludeDirs = ["CVS", ".svn", "_svn", ".ropeproject", "_ropeproject", 
+                   ".eric5project", "_eric5project", "dist", "build", "doc", "docs"]
+    excludePatterns = []
+    outputFileName = ""
+    recursive = False
+    basePackage = ""
+    includePrivate = False
+    progLanguages = []
+    extensions = []
+    newline = None
+
+    for k, v in opts:
+        if k in ["-o", "--output"]:
+            outputFileName = v
+        elif k in ["-R", "-r", "--recursive"]:
+            recursive = True
+        elif k in ["-x", "--exclude"]:
+            excludeDirs.append(v)
+        elif k == "--exclude-file":
+            excludePatterns.append(v)
+        elif k in ["-h", "--help"]:
+            usage()
+        elif k in ["-V", "--version"]:
+            version()
+        elif k in ["-t", "--extension"]:
+            if not v.startswith("."):
+                v = ".{0}".format(v)
+            extensions.append(v)
+        elif k in ["-b", "--base"]:
+            basePackage = v
+        elif k in ["-p", "--private"]:
+            includePrivate = True
+        elif k in ["-l", "--language"]:
+            if v not in progLanguages:
+                if v not in \
+                   list(DocumentationTools.supportedExtensionsDictForApis.keys()):
+                    sys.stderr.write("Wrong language given: {0}. Aborting\n".format(v))
+                    sys.exit(1)
+                else:
+                    progLanguages.append(v)
+        elif k in ["-e", "--eol"]:
+            if v.lower() == "cr":
+                newline = '\r'
+            elif v.lower() == "lf":
+                newline = '\n'
+            elif v.lower() == "crlf":
+                newline = '\r\n'
+
+    if not args:
+        usage()
+
+    if outputFileName == "":
+        sys.stderr.write("No output file given. Aborting\n")
+        sys.exit(1)
+    
+    if len(progLanguages) == 0:
+        progLanguages = ["Python3"]
+    
+    for progLanguage in sorted(progLanguages):
+        basename = ""
+        apis = []
+
+        supportedExtensions = \
+            DocumentationTools.supportedExtensionsDictForApis[progLanguage]
+        supportedExtensions.extend(extensions)
+        if "%L" in outputFileName:
+            outputFile = outputFileName.replace("%L", progLanguage)
+        else:
+            if len(progLanguages) == 1:
+                outputFile = outputFileName
+            else:
+                root, ext = os.path.splitext(outputFileName)
+                outputFile = "{0}-{1}{2}".format(root, progLanguage.lower(), ext)
+        
+        for arg in args:
+            if os.path.isdir(arg):
+                if os.path.exists(os.path.join(arg, 
+                                               Utilities.joinext("__init__", ".py"))):
+                    basename = os.path.dirname(arg)
+                    if arg == '.':
+                        sys.stderr.write("The directory '.' is a package.\n")
+                        sys.stderr.write("Please repeat the call giving its real name.\n")
+                        sys.stderr.write("Ignoring the directory.\n")
+                        continue
+                else:
+                    basename = arg
+                if basename:
+                    basename = "{0}{1}".format(basename, os.sep)
+                    
+                if recursive and not os.path.islink(arg):
+                    names = [arg] + Utilities.getDirs(arg, excludeDirs)
+                else:
+                    names = [arg]
+            else:
+                basename = ""
+                names = [arg]
+            
+            for filename in sorted(names):
+                inpackage = False
+                if os.path.isdir(filename):
+                    files = []
+                    for ext in supportedExtensions:
+                        files.extend(glob.glob(os.path.join(filename,
+                                                            Utilities.joinext("*", ext))))
+                        initFile = os.path.join(filename, 
+                                                Utilities.joinext("__init__", ext))
+                        if initFile in files:
+                            inpackage = True
+                            files.remove(initFile)
+                            files.insert(0, initFile)
+                        elif progLanguage != "Python3":
+                            # assume package
+                            inpackage = True
+                else:
+                    if Utilities.isWindowsPlatform() and glob.has_magic(filename):
+                        files = glob.glob(filename)
+                    else:
+                        files = [filename]
+                
+                for file in files:
+                    skipIt = False
+                    for pattern in excludePatterns:
+                        if fnmatch.fnmatch(os.path.basename(file), pattern):
+                            skipIt = True
+                            break
+                    if skipIt:
+                        continue
+                    
+                    try:
+                        module = Utilities.ModuleParser.readModule(file, 
+                            basename = basename, inpackage = inpackage)
+                        apiGenerator = APIGenerator(module)
+                        api = apiGenerator.genAPI(True, basePackage, includePrivate)
+                    except IOError as v:
+                        sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
+                        continue
+                    except ImportError as v:
+                        sys.stderr.write("{0} error: {1}\n".format(file, v))
+                        continue
+                    
+                    for apiEntry in api:
+                        if not apiEntry in apis:
+                            apis.append(apiEntry)
+                    sys.stdout.write("-- {0} -- {1} ok\n".format(progLanguage, file))
+
+        outdir = os.path.dirname(outputFile)
+        if outdir and not os.path.exists(outdir):
+            os.makedirs(outdir)
+        try:
+            out = open(outputFile, "w", encoding = "utf-8", newline = newline)
+            out.write("\n".join(sorted(apis)) + "\n")
+            out.close()
+        except IOError as v:
+            sys.stderr.write("{0} error: {1}\n".format(outputFile, v[1]))
+            sys.exit(3)
+    
+    sys.stdout.write('\nDone.\n')
+    sys.exit(0)
+
+if __name__ == '__main__':
+    main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric5_doc.py	Sun Feb 20 19:00:53 2011 +0100
@@ -0,0 +1,403 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2003 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Eric5 Documentation Generator
+
+This is the main Python script of the documentation generator. It is
+this script that gets called via the source documentation interface.
+This script can be used via the commandline as well.
+"""
+
+import glob
+import os
+import sys
+import fnmatch
+
+import Utilities.ModuleParser
+from DocumentationTools.ModuleDocumentor import ModuleDocument
+from DocumentationTools.IndexGenerator import IndexGenerator
+from DocumentationTools.QtHelpGenerator import QtHelpGenerator
+from DocumentationTools.Config import eric5docDefaultColors
+from UI.Info import Version
+import Utilities
+
+# list of supported filename extensions
+supportedExtensions = [".py", ".pyw", ".ptl", ".rb"]    
+
+def usage():
+    """
+    Function to print some usage information.
+    
+    It prints a reference of all commandline parameters that may
+    be used and ends the application.
+    """
+    print("eric5_doc")
+    print()
+    print("Copyright (c) 2003 - 2011 Detlev Offenbach <detlev@die-offenbachs.de>.")
+    print()
+    print("Usage:")
+    print()
+    print("  eric5_doc [options] files...")
+    print()
+    print("where files can be either python modules, package")
+    print("directories or ordinary directories.")
+    print()
+    print("Options:")
+    print()
+    print("  -c filename or --style-sheet=filename")
+    print("        Specify a CSS style sheet file to be used.")
+    print("  -e or --noempty")
+    print("        Don't include empty modules.")
+    print("  --eol=eol-type")
+    print("        Use the given eol type to terminate lines.")
+    print("        Valid values are 'cr', 'lf' and 'crlf'.")
+    print("  --exclude-file=pattern")
+    print("        Specify a filename pattern of files to be excluded.")
+    print("        This option may be repeated multiple times.")
+    print("  -h or --help")
+    print("        Show this help and exit.")
+    print("  -i or --noindex")
+    print("        Don't generate index files.")
+    print("  -o directory or --outdir=directory")
+    print("        Generate files in the named directory.")
+    print("  -R, -r or --recursive")
+    print("        Perform a recursive search for Python files.")
+    print("  -t ext or --extension=ext")
+    print("        Add the given extension to the list of file extensions.")
+    print("        This option may be given multiple times.")
+    print("  -V or --version")
+    print("        Show version information and exit.")
+    print("  -x directory or --exclude=directory")
+    print("        Specify a directory basename to be excluded.")
+    print("        This option may be repeated multiple times.")
+    print()
+    print("  --body-color=color")
+    print("        Specify the text color.")
+    print("  --body-background-color=color")
+    print("        Specify the text background color.")
+    print("  --l1header-color=color")
+    print("        Specify the text color of level 1 headers.")
+    print("  --l1header-background-color=color")
+    print("        Specify the text background color of level 1 headers.")
+    print("  --l2header-color=color")
+    print("        Specify the text color of level 2 headers.")
+    print("  --l2header-background-color=color")
+    print("        Specify the text background color of level 2 headers.")
+    print("  --cfheader-color=color")
+    print("        Specify the text color of class and function headers.")
+    print("  --cfheader-background-color=color")
+    print("        Specify the text background color of class and function headers.")
+    print("  --link-color=color")
+    print("        Specify the text color of hyperlinks.")
+    print()
+    print("  --create-qhp")
+    print("        Enable generation of QtHelp files.")
+    print("  --qhp-outdir=directory")
+    print("        Generate QtHelp files in the named directory.")
+    print("  --qhp-namespace=namespace")
+    print("        Use the given namespace (mandatory).")
+    print("  --qhp-virtualfolder=folder")
+    print("        Use the given virtual folder (mandatory).")
+    print("        The virtual folder must not contain '/'.")
+    print("  --qhp-filtername=name")
+    print("        Use the given name for the custom filter.")
+    print("  --qhp-filterattribs=attributes")
+    print("        Add the given attributes to the filter list.")
+    print("        Attributes must be separated by ':'.")
+    print("  --qhp-title=title")
+    print("        Use this as the title for the generated help (mandatory).")
+    print("  --create-qhc")
+    print("        Enable generation of QtHelp Collection files.")
+    sys.exit(1)
+
+def version():
+    """
+    Function to show the version information.
+    """
+    print("""eric5_doc  {0}
+
+Eric5 API documentation generator.
+
+Copyright (c) 2003-2011 Detlev Offenbach <detlev@die-offenbachs.de>
+This is free software; see the LICENSE.GPL3 for copying conditions.
+There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE.""".format(Version))
+    sys.exit(1)
+
+def main():
+    """
+    Main entry point into the application.
+    """
+
+    import getopt
+
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], "c:ehio:Rrt:Vx:",
+            ["exclude=", "extension=", "help", "noindex", "noempty", "outdir=",
+             "recursive", "style-sheet=", "version",
+             "exclude-file=", "eol=", 
+             "body-color=", "body-background-color=", 
+             "l1header-color=", "l1header-background-color=",
+             "l2header-color=", "l2header-background-color=",
+             "cfheader-color=", "cfheader-background-color=",
+             "link-color=",
+             "create-qhp", "qhp-outdir=", "qhp-namespace=", 
+             "qhp-virtualfolder=", "qhp-filtername=", "qhp-filterattribs=", 
+             "qhp-title=", "create-qhc", 
+            ])
+    except getopt.error:
+        usage()
+
+    excludeDirs = ["CVS", ".svn", "_svn", ".ropeproject", "_ropeproject", 
+                   ".eric5project", "_eric5project", "dist", "build", "doc", "docs"]
+    excludePatterns = []
+    outputDir = "doc"
+    recursive = False
+    doIndex = True
+    noempty = False
+    newline = None
+    
+    stylesheetFile = ""
+    colors = eric5docDefaultColors.copy()
+    
+    qtHelpCreation = False
+    qtHelpOutputDir = "help"
+    qtHelpNamespace = ""
+    qtHelpFolder = "source"
+    qtHelpFilterName = "unknown"
+    qtHelpFilterAttribs = ""
+    qtHelpTitle = ""
+    qtHelpCreateCollection = False
+    
+    for k, v in opts:
+        if k in ["-o", "--outdir"]:
+            outputDir = v
+        elif k in ["-R", "-r", "--recursive"]:
+            recursive = True
+        elif k in ["-x", "--exclude"]:
+            excludeDirs.append(v)
+        elif k == "--exclude-file":
+            excludePatterns.append(v)
+        elif k in ["-i", "--noindex"]:
+            doIndex = False
+        elif k in ["-e", "--noempty"]:
+            noempty = True
+        elif k in ["-h", "--help"]:
+            usage()
+        elif k in ["-V", "--version"]:
+            version()
+        elif k in ["-c", "--style-sheet"]:
+            stylesheetFile = v
+        elif k in ["-t", "--extension"]:
+            if not v.startswith("."):
+                v = ".{0}".format(v)
+            supportedExtensions.append(v)
+        elif k == "--eol":
+            if v.lower() == "cr":
+                newline = '\r'
+            elif v.lower() == "lf":
+                newline = '\n'
+            elif v.lower() == "crlf":
+                newline = '\r\n'
+        
+        elif k == "--body-color":
+            colors['BodyColor'] = v
+        elif k == "--body-background-color":
+            colors['BodyBgColor'] = v
+        elif k == "--l1header-color":
+            colors['Level1HeaderColor'] = v
+        elif k == "--l1header-background-color":
+            colors['Level1HeaderBgColor'] = v
+        elif k == "--l2header-color":
+            colors['Level2HeaderColor'] = v
+        elif k == "--l2header-background-color":
+            colors['Level2HeaderBgColor'] = v
+        elif k == "--cfheader-color":
+            colors['CFColor'] = v
+        elif k == "--cfheader-background-color":
+            colors['CFBgColor'] = v
+        elif k == "--link-color":
+            colors['LinkColor'] = v
+        
+        elif k == "--create-qhp":
+            qtHelpCreation = True
+        elif k == "--qhp-outdir":
+            qtHelpOutputDir = v
+        elif k == "--qhp-namespace":
+            qtHelpNamespace = v
+        elif k == "--qhp-virtualfolder":
+            qtHelpFolder = v
+        elif k == "--qhp-filtername":
+            qtHelpFilterName = v
+        elif k == "--qhp-filterattribs":
+            qtHelpFilterAttribs = v
+        elif k == "--qhp-title":
+            qtHelpTitle = v
+        elif k == "--create-qhc":
+            qtHelpCreateCollection = True
+
+    if not args:
+        usage()
+    
+    if qtHelpCreation and \
+       (qtHelpNamespace == "" or \
+        qtHelpFolder == "" or '/' in qtHelpFolder or \
+        qtHelpTitle == ""):
+        usage()
+
+    input = output = 0
+    basename = ""
+
+    if outputDir:
+        if not os.path.isdir(outputDir):
+            try:
+                os.makedirs(outputDir)
+            except EnvironmentError:
+                sys.stderr.write(
+                    "Could not create output directory {0}.".format(outputDir))
+                sys.exit(2)
+    else:
+        outputDir = os.getcwd()
+    outputDir = os.path.abspath(outputDir)
+
+    if stylesheetFile:
+        try:
+            sf = open(stylesheetFile, "r", encoding = "utf-8")
+            stylesheet = sf.read()
+            sf.close()
+        except IOError:
+            sys.stderr.write(
+                "The CSS stylesheet '{0}' does not exist\n".format(stylesheetFile))
+            sys.stderr.write("Disabling CSS usage.\n")
+            stylesheet = None
+    else:
+        stylesheet = None
+    
+    indexGenerator = IndexGenerator(outputDir, colors, stylesheet)
+    
+    if qtHelpCreation:
+        if qtHelpOutputDir:
+            if not os.path.isdir(qtHelpOutputDir):
+                try:
+                    os.makedirs(qtHelpOutputDir)
+                except EnvironmentError:
+                    sys.stderr.write(
+                        "Could not create QtHelp output directory {0}.".format(
+                        qtHelpOutputDir))
+                    sys.exit(2)
+        else:
+            qtHelpOutputDir = os.getcwd()
+        qtHelpOutputDir = os.path.abspath(qtHelpOutputDir)
+        
+        qtHelpGenerator = QtHelpGenerator(outputDir, 
+                                          qtHelpOutputDir, qtHelpNamespace, qtHelpFolder, 
+                                          qtHelpFilterName, qtHelpFilterAttribs, 
+                                          qtHelpTitle, qtHelpCreateCollection)
+    
+    for arg in args:
+        if os.path.isdir(arg):
+            if os.path.exists(os.path.join(arg, Utilities.joinext("__init__", ".py"))):
+                basename = os.path.dirname(arg)
+                if arg == '.':
+                    sys.stderr.write("The directory '.' is a package.\n")
+                    sys.stderr.write("Please repeat the call giving its real name.\n")
+                    sys.stderr.write("Ignoring the directory.\n")
+                    continue
+            else:
+                basename = arg
+            if basename:
+                basename = "{0}{1}".format(basename, os.sep)
+            
+            if recursive and not os.path.islink(arg):
+                names = [arg] + Utilities.getDirs(arg, excludeDirs)
+            else:
+                names = [arg]
+        else:
+            basename = ""
+            names = [arg]
+        
+        for filename in names:
+            inpackage = False
+            if os.path.isdir(filename):
+                files = []
+                for ext in supportedExtensions:
+                    files.extend(glob.glob(os.path.join(filename,
+                                                        Utilities.joinext("*", ext))))
+                    initFile = os.path.join(filename, Utilities.joinext("__init__", ext))
+                    if initFile in files:
+                        inpackage = True
+                        files.remove(initFile)
+                        files.insert(0, initFile)
+            else:
+                if Utilities.isWindowsPlatform() and glob.has_magic(filename):
+                    files = glob.glob(filename)
+                else:
+                    files = [filename]
+            
+            for file in files:
+                skipIt = False
+                for pattern in excludePatterns:
+                    if fnmatch.fnmatch(os.path.basename(file), pattern):
+                        skipIt = True
+                        break
+                if skipIt:
+                    continue
+                
+                try:
+                    module = Utilities.ModuleParser.readModule(file, basename = basename, 
+                                inpackage = inpackage, extensions = supportedExtensions)
+                    moduleDocument = ModuleDocument(module, colors, stylesheet)
+                    doc = moduleDocument.genDocument()
+                except IOError as v:
+                    sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
+                    continue
+                except ImportError as v:
+                    sys.stderr.write("{0} error: {1}\n".format(file, v))
+                    continue
+                
+                input = input + 1
+                
+                f = Utilities.joinext(os.path.join(outputDir, moduleDocument.name()),
+                                      ".html")
+                
+                # remember for index file generation
+                indexGenerator.remember(file, moduleDocument, basename)
+                
+                # remember for QtHelp generation
+                if qtHelpCreation:
+                    qtHelpGenerator.remember(file, moduleDocument, basename)
+                
+                if (noempty or file.endswith('__init__.py')) \
+                   and moduleDocument.isEmpty():
+                    continue
+                
+                # generate output
+                try:
+                    out = open(f, "w", encoding = "utf-8", newline = newline)
+                    out.write(doc)
+                    out.close()
+                except IOError as v:
+                    sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
+                else:
+                    sys.stdout.write("{0} ok\n".format(f))
+                
+                output = output + 1
+    sys.stdout.flush()
+    sys.stderr.flush()
+
+    # write index files
+    if doIndex:
+        indexGenerator.writeIndices(basename, newline = newline)
+    
+    # generate the QtHelp files
+    if qtHelpCreation:
+        qtHelpGenerator.generateFiles(newline = newline)
+
+    sys.exit(0)
+
+if __name__ == '__main__':
+    main()
--- a/i18n/eric5_cs.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_cs.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -10392,22 +10392,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation>Generovat API soubor (eric5-api)</translation>
+        <translation type="obsolete">Generovat API soubor (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation>Generovat &amp;API soubor (eric5-api)</translation>
+        <translation type="obsolete">Generovat &amp;API soubor (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation>Generovat API soubor za použití eric5-api</translation>
+        <translation type="obsolete">Generovat API soubor za použití eric5-api</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Generovat API soubor&lt;/b&gt;&lt;p&gt;Generovat API soubor za použití eric5-api.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Generovat API soubor&lt;/b&gt;&lt;p&gt;Generovat API soubor za použití eric5-api.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10815,28 +10835,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation>Generovat dokumentaci (eric5-doc)</translation>
+        <translation type="obsolete">Generovat dokumentaci (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation>Generovat &amp;dokumentaci (eric5-doc)</translation>
+        <translation type="obsolete">Generovat &amp;dokumentaci (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation>Generovat API dokumentaci za použití eric5-doc</translation>
+        <translation type="obsolete">Generovat API dokumentaci za použití eric5-doc</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Generovat dokumentaci&lt;/b&gt;&lt;p&gt;Generovat API dokumentaci za použití eric5-doc.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Generovat dokumentaci&lt;/b&gt;&lt;p&gt;Generovat API dokumentaci za použití eric5-doc.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
Binary file i18n/eric5_de.qm has changed
--- a/i18n/eric5_de.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_de.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="de">
+<!DOCTYPE TS><TS version="1.1" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1578,8 +1577,8 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="139"/>
-        <source>Open in New &amp;Tab	Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
+        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksMenu.py" line="145"/>
@@ -1629,7 +1628,7 @@
     </message>
     <message>
         <location filename="Helpviewer/Bookmarks/BookmarksToolBar.py" line="72"/>
-        <source>Open in New &amp;Tab	Ctrl+LMB</source>
+        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
         <translation>In neuem &amp;Register öffnen\tStrg+LMK</translation>
     </message>
 </context>
@@ -10277,23 +10276,23 @@
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
-        <source>Generate API file (eric5-api)</source>
-        <translation>Erzeuge API Datei (eric5-api)</translation>
+        <source>Generate API file (eric5_api)</source>
+        <translation>Erzeuge API Datei (eric5_api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
-        <source>Generate &amp;API file (eric5-api)</source>
-        <translation>Erzeuge &amp;API Datei (eric5-api)</translation>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation>Erzeuge &amp;API Datei (eric5_api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
-        <source>Generate an API file using eric5-api</source>
-        <translation>Erzeuge eine API Datei unter Verwendung von eric5-api</translation>
+        <source>Generate an API file using eric5_api</source>
+        <translation>Erzeuge eine API Datei unter Verwendung von eric5_api</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
-        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Erzeuge API Datei&lt;/b&gt;&lt;p&gt;Erzeuge eine API Datei unter Verwendung von eric5-api.&lt;/p&gt;</translation>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Erzeuge API Datei&lt;/b&gt;&lt;p&gt;Erzeuge eine API Datei unter Verwendung von eric5_api.&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -10698,29 +10697,29 @@
         <translation>Eric5 Dokumentationsgenerator</translation>
     </message>
     <message>
-        <location filename="Plugins/PluginEricdoc.py" line="131"/>
-        <source>Generate documentation (eric5-doc)</source>
-        <translation>Erzeuge Dokumentation (eric5-doc)</translation>
+        <location filename="Plugins/PluginEricdoc.py" line="88"/>
+        <source>Qt4 Help Tools</source>
+        <translation>Qt4 Help Werkzeuge</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
-        <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation>Erzeuge &amp;Dokumentation (eric5-doc)</translation>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation>Erzeuge Dokumentation (eric5_doc)</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation>Erzeuge &amp;Dokumentation (eric5_doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
-        <source>Generate API documentation using eric5-doc</source>
-        <translation>Erzeuge die API Dokumentation unter Verwendung von eric-doc</translation>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation>Erzeuge die API Dokumentation unter Verwendung von eric_doc</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
-        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Erzeuge Dokumentation&lt;/b&gt;&lt;p&gt;Erzeuge die API Dokumentation unter Verwendung von eric5-doc.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="Plugins/PluginEricdoc.py" line="88"/>
-        <source>Qt4 Help Tools</source>
-        <translation>Qt4 Help Werkzeuge</translation>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation>&lt;b&gt;Erzeuge Dokumentation&lt;/b&gt;&lt;p&gt;Erzeuge die API Dokumentation unter Verwendung von eric5_doc.&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -11884,7 +11883,7 @@
     </message>
     <message>
         <location filename="Helpviewer/HelpBrowserWV.py" line="778"/>
-        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
         <translation>Link in neuem Fenster öffnen\tStrg+LMK</translation>
     </message>
     <message>
--- a/i18n/eric5_en.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_en.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -10204,22 +10204,22 @@
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
-        <source>Generate API file (eric5-api)</source>
+        <source>Generate API file (eric5_api)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
-        <source>Generate &amp;API file (eric5-api)</source>
+        <source>Generate &amp;API file (eric5_api)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
-        <source>Generate an API file using eric5-api</source>
+        <source>Generate an API file using eric5_api</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
-        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10627,22 +10627,22 @@
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
-        <source>Generate documentation (eric5-doc)</source>
+        <source>Generate documentation (eric5_doc)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
-        <source>Generate &amp;documentation (eric5-doc)</source>
+        <source>Generate &amp;documentation (eric5_doc)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
-        <source>Generate API documentation using eric5-doc</source>
+        <source>Generate API documentation using eric5_doc</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
-        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
--- a/i18n/eric5_es.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_es.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -10286,22 +10286,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation>Generar archivo API (eric5-api)</translation>
+        <translation type="obsolete">Generar archivo API (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation>Generar archivo de &amp;API (eric5-api)</translation>
+        <translation type="obsolete">Generar archivo de &amp;API (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation>Generar una API utilizando eric5-api</translation>
+        <translation type="obsolete">Generar una API utilizando eric5-api</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Generar un archivo API&lt;/b&gt;&lt;p&gt;Generar un archivo API utilizando eric5-api.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Generar un archivo API&lt;/b&gt;&lt;p&gt;Generar un archivo API utilizando eric5-api.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10706,28 +10726,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation>Generar documentación (eric5-doc)</translation>
+        <translation type="obsolete">Generar documentación (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation>Generar &amp;documentación (eric5-doc)</translation>
+        <translation type="obsolete">Generar &amp;documentación (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation>Generar documentación de API utilizando eric5-doc</translation>
+        <translation type="obsolete">Generar documentación de API utilizando eric5-doc</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Generar documentación&lt;/b&gt;&lt;p&gt;Generar documentación de API utilizando eric5-doc.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Generar documentación&lt;/b&gt;&lt;p&gt;Generar documentación de API utilizando eric5-doc.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation>Herramientas de Ayuda de Qt4</translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
--- a/i18n/eric5_fr.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_fr.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -11236,22 +11236,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation type="unfinished">Générer un fichier API (eric4-api) {5-?}</translation>
+        <translation type="obsolete">Générer un fichier API (eric4-api) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation type="unfinished">Générer un fichier &amp;API (eric4-api) {5-?}</translation>
+        <translation type="obsolete">Générer un fichier &amp;API (eric4-api) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation type="unfinished">Générer un fichier API en utilisant eric4-api {5-?}</translation>
+        <translation type="obsolete">Générer un fichier API en utilisant eric4-api {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;b&gt;Générer un fichier API&lt;/b&gt;&lt;p&gt;Génère un fichier API en utilisant eric4-api.&lt;/p&gt; {5-?}</translation>
+        <translation type="obsolete">&lt;b&gt;Générer un fichier API&lt;/b&gt;&lt;p&gt;Génère un fichier API en utilisant eric4-api.&lt;/p&gt; {5-?}</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11704,28 +11724,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation type="unfinished">Générer la documentation (eric4-doc) {5-?}</translation>
+        <translation type="obsolete">Générer la documentation (eric4-doc) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation type="unfinished">Générer la &amp;documentation (eric4-doc) {5-?}</translation>
+        <translation type="obsolete">Générer la &amp;documentation (eric4-doc) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation type="unfinished">Générer la documentation d&apos;une API en utilisant eric4-doc {5-?}</translation>
+        <translation type="obsolete">Générer la documentation d&apos;une API en utilisant eric4-doc {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;b&gt;Générer la documentation&lt;/b&gt;&lt;p&gt;Génère la documentation API en utilisant eric4-doc.&lt;/p&gt; {5-?}</translation>
+        <translation type="obsolete">&lt;b&gt;Générer la documentation&lt;/b&gt;&lt;p&gt;Génère la documentation API en utilisant eric4-doc.&lt;/p&gt; {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
--- a/i18n/eric5_it.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_it.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -10285,22 +10285,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation>Genera file API (eric5-api)</translation>
+        <translation type="obsolete">Genera file API (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation>Genera file &amp;API (eric5-api)</translation>
+        <translation type="obsolete">Genera file &amp;API (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation>Genera un file API usando eric5-api</translation>
+        <translation type="obsolete">Genera un file API usando eric5-api</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Genera file API&lt;/b&gt;&lt;p&gt;Genera un file API usando eric5-api.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Genera file API&lt;/b&gt;&lt;p&gt;Genera un file API usando eric5-api.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10707,28 +10727,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation>Genera documentazione (eric5-doc) </translation>
+        <translation type="obsolete">Genera documentazione (eric5-doc) </translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation>Genera &amp;documentazione (eric5-doc)</translation>
+        <translation type="obsolete">Genera &amp;documentazione (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation>Genera la documentazione delle API usando eric5-doc</translation>
+        <translation type="obsolete">Genera la documentazione delle API usando eric5-doc</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Genera documentazione&lt;/b&gt;&lt;p&gt;Genera la documentazione delle API usando eric5-doc.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Genera documentazione&lt;/b&gt;&lt;p&gt;Genera la documentazione delle API usando eric5-doc.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation>Qt4 Help Tools</translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
--- a/i18n/eric5_ru.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_ru.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -10320,22 +10320,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation>Создать файл API</translation>
+        <translation type="obsolete">Создать файл API</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation>Создать файл &amp;API</translation>
+        <translation type="obsolete">Создать файл &amp;API</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation>Создать API с помощью eric5-api</translation>
+        <translation type="obsolete">Создать API с помощью eric5-api</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Создать файл API &lt;/b&gt;&lt;p&gt;Создать файл API с помощью eric5-api.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Создать файл API &lt;/b&gt;&lt;p&gt;Создать файл API с помощью eric5-api.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10741,28 +10761,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation>Создать документацию (eric5-doc)</translation>
+        <translation type="obsolete">Создать документацию (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation>Создать &amp;документацию (eric5-doc)</translation>
+        <translation type="obsolete">Создать &amp;документацию (eric5-doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation>Создать документацию на API с помощью eric5-doc</translation>
+        <translation type="obsolete">Создать документацию на API с помощью eric5-doc</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Создать документацию&lt;/b&gt;&lt;p&gt;Создать документацию на API с помощью eric5-doc&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Создать документацию&lt;/b&gt;&lt;p&gt;Создать документацию на API с помощью eric5-doc&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation>Утилиты помощи Qt4</translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
--- a/i18n/eric5_tr.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_tr.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -10401,22 +10401,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation>API dosyasını üret (eric5-api)</translation>
+        <translation type="obsolete">API dosyasını üret (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation>&amp;API dosyası üret (eric5-api)</translation>
+        <translation type="obsolete">&amp;API dosyası üret (eric5-api)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation>Eric5-apide kullanılmak üzere API dosyası üret</translation>
+        <translation type="obsolete">Eric5-apide kullanılmak üzere API dosyası üret</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;API dosyasını üret&lt;/b&gt;&lt;p&gt;Eric5-apide kullanılmak üzere API dosyası üret.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;API dosyasını üret&lt;/b&gt;&lt;p&gt;Eric5-apide kullanılmak üzere API dosyası üret.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10825,28 +10845,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation>Döküman Üret (eric5 doc)</translation>
+        <translation type="obsolete">Döküman Üret (eric5 doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation>&amp;Döküman Üret (eric5 doc)</translation>
+        <translation type="obsolete">&amp;Döküman Üret (eric5 doc)</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation>Eric5-doc kullanarak APı belgelerini üret</translation>
+        <translation type="obsolete">Eric5-doc kullanarak APı belgelerini üret</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Belge Üretimi&lt;/b&gt;&lt;p&gt;Eric-5doc kullanılarak API belgelerini üret.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;Belge Üretimi&lt;/b&gt;&lt;p&gt;Eric-5doc kullanılarak API belgelerini üret.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
--- a/i18n/eric5_zh_CN.GB2312.ts	Sun Feb 20 18:50:59 2011 +0100
+++ b/i18n/eric5_zh_CN.GB2312.ts	Sun Feb 20 19:00:53 2011 +0100
@@ -11190,22 +11190,42 @@
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate API file (eric5-api)</source>
-        <translation type="unfinished">生成 API 文件 (eric4-api) {5-?}</translation>
+        <translation type="obsolete">生成 API 文件 (eric4-api) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="95"/>
         <source>Generate &amp;API file (eric5-api)</source>
-        <translation type="unfinished">生成 &amp;API 文件 (eric4-api) {5-?}</translation>
+        <translation type="obsolete">生成 &amp;API 文件 (eric4-api) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="98"/>
         <source>Generate an API file using eric5-api</source>
-        <translation type="unfinished">使用 eric4-api 生成一个 API 文件 {5-?}</translation>
+        <translation type="obsolete">使用 eric4-api 生成一个 API 文件 {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricapi.py" line="100"/>
         <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5-api.&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;b&gt;生成 API 文件&lt;/b&gt;&lt;p&gt;使用 eric4-api 生成一个 API 文件。&lt;/p&gt; {5-?}</translation>
+        <translation type="obsolete">&lt;b&gt;生成 API 文件&lt;/b&gt;&lt;p&gt;使用 eric4-api 生成一个 API 文件。&lt;/p&gt; {5-?}</translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="95"/>
+        <source>Generate &amp;API file (eric5_api)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="98"/>
+        <source>Generate an API file using eric5_api</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricapi.py" line="100"/>
+        <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric5_api.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11657,28 +11677,48 @@
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate documentation (eric5-doc)</source>
-        <translation type="unfinished">生成文档 (eric4-doc) {5-?}</translation>
+        <translation type="obsolete">生成文档 (eric4-doc) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="131"/>
         <source>Generate &amp;documentation (eric5-doc)</source>
-        <translation type="unfinished">生成文档(&amp;d) (eric4-doc) {5-?}</translation>
+        <translation type="obsolete">生成文档(&amp;d) (eric4-doc) {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="134"/>
         <source>Generate API documentation using eric5-doc</source>
-        <translation type="unfinished">使用 eric4-doc 生成 API 文档 {5-?}</translation>
+        <translation type="obsolete">使用 eric4-doc 生成 API 文档 {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="136"/>
         <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5-doc.&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;b&gt;生成文档&lt;/b&gt;&lt;p&gt;使用 eric4-doc 生成 API 文档。&lt;/p&gt; {5-?}</translation>
+        <translation type="obsolete">&lt;b&gt;生成文档&lt;/b&gt;&lt;p&gt;使用 eric4-doc 生成 API 文档。&lt;/p&gt; {5-?}</translation>
     </message>
     <message>
         <location filename="Plugins/PluginEricdoc.py" line="88"/>
         <source>Qt4 Help Tools</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="131"/>
+        <source>Generate &amp;documentation (eric5_doc)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="134"/>
+        <source>Generate API documentation using eric5_doc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="Plugins/PluginEricdoc.py" line="136"/>
+        <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric5_doc.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ExceptionLogger</name>
--- a/install.py	Sun Feb 20 18:50:59 2011 +0100
+++ b/install.py	Sun Feb 20 19:00:53 2011 +0100
@@ -339,11 +339,11 @@
     
     # Create the platform specific wrappers.
     wnames = []
-    wnames.append(createPyWrapper(cfg['ericDir'], "eric5-api", False))
+    wnames.append(createPyWrapper(cfg['ericDir'], "eric5_api", False))
     wnames.append(createPyWrapper(cfg['ericDir'], "eric5_compare"))
     wnames.append(createPyWrapper(cfg['ericDir'], "eric5_configure"))
     wnames.append(createPyWrapper(cfg['ericDir'], "eric5_diff"))
-    wnames.append(createPyWrapper(cfg['ericDir'], "eric5-doc", False))
+    wnames.append(createPyWrapper(cfg['ericDir'], "eric5_doc", False))
     wnames.append(createPyWrapper(cfg['ericDir'], "eric5_editor"))
     wnames.append(createPyWrapper(cfg['ericDir'], "eric5_iconeditor"))
     wnames.append(createPyWrapper(cfg['ericDir'], "eric5_plugininstall"))
--- a/uninstall.py	Sun Feb 20 18:50:59 2011 +0100
+++ b/uninstall.py	Sun Feb 20 19:00:53 2011 +0100
@@ -73,24 +73,24 @@
     rem_wnames = [
         "eric5-api", "eric5-compare",
         "eric5-configure", "eric5-diff",
-        "eric5-doc", "eric5-helpviewer",
+        "eric5-doc", 
         "eric5-qregexp", "eric5-re", 
         "eric5-trpreviewer", "eric5-uipreviewer",
         "eric5-unittest", "eric5",
         "eric5-tray", "eric5-editor", 
         "eric5-plugininstall", "eric5-pluginuninstall", 
         "eric5-pluginrepository", "eric5-sqlbrowser", 
-        "eric5-webbrowser", 
+        "eric5-webbrowser", "eric5-iconeditor", 
         "eric5_api", "eric5_compare",
         "eric5_configure", "eric5_diff",
-        "eric5_doc", "eric5_helpviewer",
+        "eric5_doc", 
         "eric5_qregexp", "eric5_re", 
         "eric5_trpreviewer", "eric5_uipreviewer",
         "eric5_unittest", "eric5",
         "eric5_tray", "eric5_editor", 
         "eric5_plugininstall", "eric5_pluginuninstall", 
         "eric5_pluginrepository", "eric5_sqlbrowser", 
-        "eric5_webbrowser", 
+        "eric5_webbrowser", "eric5_iconeditor", 
     ]
     for rem_wname in rem_wnames:
         rwname = wrapperName(getConfig('bindir'),rem_wname)

eric ide

mercurial