src/eric7/eric7_api.py

Fri, 31 May 2024 15:18:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 31 May 2024 15:18:47 +0200
branch
eric7
changeset 10730
454f6ff4e1cd
parent 10716
11cdcc824469
child 11090
f5f5f5803935
permissions
-rw-r--r--

Corrected some imports ordering.

15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 #!/usr/bin/env python3
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10373
diff changeset
4 # Copyright (c) 2003 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5 #
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 """
7960
e8fc383322f7 Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
8 eric API Generator.
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 This is the main Python script of the API generator. It is
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 this script that gets called via the API generation interface.
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 This script can be used via the commandline as well.
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 """
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
15 import argparse
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
16 import fnmatch
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
17 import glob
6949
a5255f1ba3f0 setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
18 import os
a5255f1ba3f0 setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
19 import sys
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
21 from eric7 import DocumentationTools
10730
454f6ff4e1cd Corrected some imports ordering.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10716
diff changeset
22 from eric7.__version__ import Version
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9364
diff changeset
23 from eric7.DocumentationTools.APIGenerator import APIGenerator
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
24 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
25 from eric7.Utilities import ModuleParser
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
27
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
28 def createArgumentParser():
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
30 Function to create an argument parser.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
31
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
32 @return created argument parser object
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
33 @rtype argparse.ArgumentParser
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
35 parser = argparse.ArgumentParser(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
36 description=(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
37 "Create API files to be used by 'QScintilla' or the 'eric Assistant'"
10303
ee1aadab1215 Changed code to use the 'argparse' module to parse the command line parameters instead of using own code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10298
diff changeset
38 " plugin. It is part of the eric tool suite."
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
39 ),
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10373
diff changeset
40 epilog="Copyright (c) 2003 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>.",
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
41 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
42
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
43 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
44 "file",
10298
a148416e7e7d Optimized the 'argparse' related code of 'eric7_api.py' and 'eric7_doc.py'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10295
diff changeset
45 nargs="+",
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
46 help="'file' can be either python modules, package directories or ordinary"
10295
e0e7f81cc164 Made some additions to the 'eric7_api.py' file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10294
diff changeset
47 " directories. At least one 'file' argument must be given.",
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
48 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
49 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
50 "-b",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
51 "--base",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
52 default="",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
53 help="Use the given name as the name of the base package.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
54 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
55 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
56 "-e",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
57 "--eol",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
58 choices=["cr", "lf", "crlf"],
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
59 help="Use the given eol type to terminate lines.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
60 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
61 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
62 "--exclude-file",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
63 action="append",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
64 default=[],
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
65 help="Specify a filename pattern of files to be excluded. This option may be"
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
66 " repeated multiple times.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
67 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
68 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
69 "-i",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
70 "--ignore",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
71 action="store_true",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
72 help="Ignore the set of builtin modules.",
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
73 )
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
74 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
75 "-l",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
76 "--language",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
77 action="append",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
78 default=[],
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
79 choices=DocumentationTools.supportedExtensionsDictForApis.keys(),
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
80 help="Generate an API file for the given programming language. The default"
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
81 " is 'Python3'. This option may be repeated multiple times.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
82 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
83 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
84 "-o",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
85 "--output",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
86 default="",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
87 help="Write the API information to the named file. A '%%L'" # noqa: M601
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
88 " placeholder is replaced by the language of the API file (see --language).",
10298
a148416e7e7d Optimized the 'argparse' related code of 'eric7_api.py' and 'eric7_doc.py'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10295
diff changeset
89 required=True,
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
90 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
91 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
92 "-p",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
93 "--private",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
94 action="store_true",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
95 help="Include private methods and functions.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
96 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
97 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
98 "-R",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
99 "-r",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
100 "--recursive",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
101 action="store_true",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
102 help="Perform a recursive search for source files.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
103 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
104 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
105 "-t",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
106 "--extension",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
107 action="append",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
108 default=[],
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
109 help="Add the given extension to the list of file extensions. This option may"
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
110 " be given multiple times.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
111 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
112 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
113 "-V",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
114 "--version",
10298
a148416e7e7d Optimized the 'argparse' related code of 'eric7_api.py' and 'eric7_doc.py'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10295
diff changeset
115 action="version",
a148416e7e7d Optimized the 'argparse' related code of 'eric7_api.py' and 'eric7_doc.py'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10295
diff changeset
116 version="%(prog)s {0}".format(Version),
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
117 help="Show version information and exit.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
118 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
119 parser.add_argument(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
120 "-x",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
121 "--exclude",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
122 action="append",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
123 default=[],
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
124 help="Specify a directory basename to be excluded. This option may be repeated"
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
125 " multiple times.",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
126 )
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
127
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
128 return parser
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
130
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 def main():
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 """
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 Main entry point into the application.
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 """
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 global supportedExtensions
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
137 parser = createArgumentParser()
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
138 args = parser.parse_args()
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
139
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140 excludeDirs = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141 ".svn",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
142 ".hg",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
143 ".git",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
144 ".ropeproject",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
145 ".eric7project",
10295
e0e7f81cc164 Made some additions to the 'eric7_api.py' file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10294
diff changeset
146 ".jedi",
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
147 "dist",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
148 "build",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
149 "doc",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
150 "docs",
10295
e0e7f81cc164 Made some additions to the 'eric7_api.py' file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10294
diff changeset
151 "__pycache__",
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
152 ] + args.exclude
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
153 excludePatterns = args.exclude_file
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
154 outputFileName = args.output
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
155 recursive = args.recursive
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
156 basePackage = args.base
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
157 includePrivate = args.private
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
158 progLanguages = args.language
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
159 extensions = [
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
160 ext if ext.startswith(".") else ".{0}".format(ext) for ext in args.extension
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161 ]
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
162 ignoreBuiltinModules = args.ignore
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
163 newline = {
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
164 "cr": "\r",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
165 "lf": "\n",
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
166 "crlf": "\r\n",
10295
e0e7f81cc164 Made some additions to the 'eric7_api.py' file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10294
diff changeset
167 }.get(args.eol)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
168
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 if len(progLanguages) == 0:
40
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
170 progLanguages = ["Python3"]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
171
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 for progLanguage in sorted(progLanguages):
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 basename = ""
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 apis = []
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
175 basesDict = {}
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
177 supportedExtensions = DocumentationTools.supportedExtensionsDictForApis[
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
178 progLanguage
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
179 ]
9364
83dea9e54ff4 Modified ModuleParser to deal with Python stub files (*.pyi) as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
180 supportedExtensions.extend(
83dea9e54ff4 Modified ModuleParser to deal with Python stub files (*.pyi) as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
181 e for e in extensions if e not in supportedExtensions
83dea9e54ff4 Modified ModuleParser to deal with Python stub files (*.pyi) as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
182 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
183
8408
a8eb084b974e eric7_api: added code to append the '.api' file extension if not given by the user.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8314
diff changeset
184 if not outputFileName.endswith(".api"):
a8eb084b974e eric7_api: added code to append the '.api' file extension if not given by the user.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8314
diff changeset
185 # append the .api extension, if not given by the user
a8eb084b974e eric7_api: added code to append the '.api' file extension if not given by the user.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8314
diff changeset
186 outputFileName += ".api"
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 if "%L" in outputFileName:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 outputFile = outputFileName.replace("%L", progLanguage)
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 else:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 if len(progLanguages) == 1:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 outputFile = outputFileName
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 else:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 root, ext = os.path.splitext(outputFileName)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
194 outputFile = "{0}-{1}{2}".format(root, progLanguage.lower(), ext)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
195 basesFile = os.path.splitext(outputFile)[0] + ".bas"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
196
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
197 for argsfile in args.file:
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
198 if os.path.isdir(argsfile):
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
199 if os.path.exists(
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
200 os.path.join(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
201 argsfile, FileSystemUtilities.joinext("__init__", ".py")
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
202 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
203 ):
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
204 basename = os.path.dirname(argsfile)
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
205 if argsfile == ".":
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 sys.stderr.write("The directory '.' is a package.\n")
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
207 sys.stderr.write(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
208 "Please repeat the call giving its real name.\n"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
209 )
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 sys.stderr.write("Ignoring the directory.\n")
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 continue
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 else:
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
213 basename = argsfile
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 if basename:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 253
diff changeset
215 basename = "{0}{1}".format(basename, os.sep)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
216
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
217 if recursive and not os.path.islink(argsfile):
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
218 names = [argsfile] + FileSystemUtilities.getDirs(
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
219 argsfile, excludeDirs
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
220 )
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 else:
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
222 names = [argsfile]
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 else:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 basename = ""
10294
a055e1b82af8 eric7_api.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
225 names = [argsfile]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
226
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 for filename in sorted(names):
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 inpackage = False
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 if os.path.isdir(filename):
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 files = []
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 for ext in supportedExtensions:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
232 files.extend(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
233 glob.glob(
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
234 os.path.join(
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
235 filename, FileSystemUtilities.joinext("*", ext)
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
236 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
237 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
238 )
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
239 initFile = os.path.join(
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
240 filename, FileSystemUtilities.joinext("__init__", ext)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
241 )
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 if initFile in files:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 inpackage = True
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 files.remove(initFile)
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 files.insert(0, initFile)
788
5b1b59777460 Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 433
diff changeset
246 elif progLanguage != "Python3":
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 # assume package
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 inpackage = True
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 else:
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
250 if OSUtilities.isWindowsPlatform() and glob.has_magic(filename):
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 files = glob.glob(filename)
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 else:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 files = [filename]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
254
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 for file in files:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 skipIt = False
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 for pattern in excludePatterns:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 if fnmatch.fnmatch(os.path.basename(file), pattern):
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 skipIt = True
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 break
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 if skipIt:
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 continue
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
263
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 try:
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9364
diff changeset
265 module = ModuleParser.readModule(
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2997
diff changeset
266 file,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
267 basename=basename,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
268 inpackage=inpackage,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
269 ignoreBuiltinModules=ignoreBuiltinModules,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
270 )
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 apiGenerator = APIGenerator(module)
10065
de4ae767b0e3 Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
272 api = apiGenerator.genAPI(basePackage, includePrivate)
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
273 bases = apiGenerator.genBases(includePrivate)
7836
2f0d208b8137 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7785
diff changeset
274 except OSError as v:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 253
diff changeset
275 sys.stderr.write("{0} error: {1}\n".format(file, v[1]))
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 continue
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 except ImportError as v:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 253
diff changeset
278 sys.stderr.write("{0} error: {1}\n".format(file, v))
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 continue
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
280
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 for apiEntry in api:
3621
15f23ed3f216 Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3178
diff changeset
282 if apiEntry not in apis:
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 apis.append(apiEntry)
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
284 for basesEntry in bases:
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
285 if bases[basesEntry]:
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
286 basesDict[basesEntry] = bases[basesEntry][:]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
287 sys.stdout.write("-- {0} -- {1} ok\n".format(progLanguage, file))
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 outdir = os.path.dirname(outputFile)
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 if outdir and not os.path.exists(outdir):
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 os.makedirs(outdir)
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 try:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
293 with open(outputFile, "w", encoding="utf-8", newline=newline) as out:
7785
9978016560ec Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
294 out.write("\n".join(sorted(apis)) + "\n")
7836
2f0d208b8137 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7785
diff changeset
295 except OSError as v:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 253
diff changeset
296 sys.stderr.write("{0} error: {1}\n".format(outputFile, v[1]))
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 sys.exit(3)
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
298 try:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
299 with open(basesFile, "w", encoding="utf-8", newline=newline) as out:
10373
093dcebe5ecb Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10303
diff changeset
300 for baseEntry in sorted(basesDict):
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
301 out.write(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
302 "{0} {1}\n".format(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
303 baseEntry, " ".join(sorted(basesDict[baseEntry]))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
304 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
305 )
7836
2f0d208b8137 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7785
diff changeset
306 except OSError as v:
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
307 sys.stderr.write("{0} error: {1}\n".format(basesFile, v[1]))
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
308 sys.exit(3)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
309
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
310 sys.stdout.write("\nDone.\n")
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 sys.exit(0)
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
313
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
314 if __name__ == "__main__":
18
3b1f5d872fd7 More renaming to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 15
diff changeset
315 main()
4566
a2e8f3c420ec Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4543
diff changeset
316
a2e8f3c420ec Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4543
diff changeset
317 #
a2e8f3c420ec Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4543
diff changeset
318 # eflag: noqa = M801

eric ide

mercurial