Python 3.6 and above has deprecated illegal string escape sequences. Escape sequences are preceded by a '\' and valid ones are "\n\t\r" etc. Illegal ones are not in the list https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals.
Previous to Python 3.6 these illegal sequences were ignored and the '\' was left in place. Pylint has been noting these for a while now.
This PR corrects these sequences in Gramps. I used
find . -name "*.py" | xargs -t -n 1 python3 -Wd -m py_compile 2>&1 | grep Depre
to locate the failing strings.
I updated the appdata.xml file to the latest version of the specification
(https://www.freedesktop.org/software/appstream/docs/index.html), adding
some new tags in the process.
I also installed the appdata.xml file to the latest location in the
specification.
The XML has bene validated by the appstreamcli validation tool, and the
patch applied in Debian (Gramps 4.2.3).
If it looks OK, it should probably be cherry-picked to the gramps42
maintenance branch.
I installed my development environment on a different machine
but for some reason didn't install intltool. But it took me
a while to notice since I normally routinely divert the output
to a file. So it was crashing but I didn't know.
But when I examined setup.py I saw that was tested for, at least
it was supposed to be tested for. But on my particular machine
when the test was piped into more commands the whole piped command
was returning a zero status, even though there was no intltool
at all. So I have added an explicit test for intltool and that
does indeed fail on my machine, without one.
With this additional option to setup.py, a path to where the
resource-path will be installed can be supplied. This is needed
when building Gramps out of the source tree, otherwise the temporary
location is stored in the resource-path file and Gramps cannot find
it resources.
* Translation revisions and fixes
* Generate zh_TW.po and new zh_HK.po from zh_CN.po
with the help of https://github.com/BYVoid/OpenCC
and a small sed script (see f.r. 7573 for the script)