diff options
-rw-r--r-- | sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp | 10 | ||||
-rw-r--r-- | tools/snippets_translate/main.py | 11 |
2 files changed, 10 insertions, 11 deletions
diff --git a/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp b/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp index ce0f794b0..13a8026ae 100644 --- a/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp +++ b/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp @@ -489,10 +489,12 @@ QString QtXmlToSphinx::readFromLocations(const QStringList &locations, const QSt const QString &identifier, QString *errorMessage) { QString resolvedPath; - if (path.endsWith(QLatin1String(".cpp"))) { - const QString pySnippet = path.left(path.size() - 3) + QLatin1String("py"); - resolvedPath = resolveFile(locations, pySnippet); - } + // Try Python snippets first. + if (path.endsWith(u".cpp")) + resolvedPath = resolveFile(locations, path.left(path.size() - 3) + u"py"_qs); + else if (path.endsWith(u".h")) + resolvedPath = resolveFile(locations, path + u".py"_qs); + if (resolvedPath.isEmpty()) resolvedPath = resolveFile(locations, path); if (resolvedPath.isEmpty()) { diff --git a/tools/snippets_translate/main.py b/tools/snippets_translate/main.py index 792328933..53a941a8c 100644 --- a/tools/snippets_translate/main.py +++ b/tools/snippets_translate/main.py @@ -277,7 +277,8 @@ def translate_file(file_path, final_path, debug, write): if write: # Open the final file - target_file = final_path.with_suffix(".py") + new_suffix = ".h.py" if final_path.name.endswith(".h") else ".py" + target_file = final_path.with_suffix(new_suffix) # Directory where the file will be placed, if it does not exists # we create it. The option 'parents=True' will create the parents @@ -338,13 +339,9 @@ def copy_file(file_path, py_path, category, category_path, write=False, debug=Fa else: log.info(f"{status_msg:10s} {final_path}") - # Change .cpp to .py - # TODO: - # - What do we do with .h in case both .cpp and .h exists with - # the same name? - + # Change .cpp to .py, .h to .h.py # Translate C++ code into Python code - if final_path.name.endswith(".cpp"): + if final_path.name.endswith(".cpp") or final_path.name.endswith(".h"): translate_file(file_path, final_path, debug, write) return status |