On 13/05/16 01:55, Vaclav Petras wrote:
Hi Moritz,
On Thu, May 12, 2016 at 3:26 AM, Moritz Lennert
<mlennert@club.worldonline.be <mailto:mlennert@club.worldonline.be>> wrote:
Trying to understand how some of the code in the wxGUI works, I'm
confronted with the absence of documentation of the wxGUI code.
Please, feel free to ask on mailing list if something is unclear.
Yes, there are docstrings in the code, but what is lacking is a
programmer's manual that describes the general logic and gives a
more precise overview of what is done in the different files and
classes.
Is there anything like this out there ?
Yes:
cd grass/source/code
make sphinxdoc
I'm getting:
Encoding error:
'ascii' codec can't decode byte 0xc3 in position 36: ordinal not in range(128)
The full traceback has been saved in /tmp/sphinx-err-Ioryqi.log, if you want to report the issue to the developers.
Makefile:85: recipe for target 'wxguihtml' failed
make[1]: *** [wxguihtml] Error 1
make[1]: Leaving directory '/data/home/mlennert/SRC/GRASS/grass_trunk/gui/wxpython/docs/wxgui_sphinx'
include/Make/Sphinx.make:32: recipe for target 'sphinxdoc' failed
make: *** [sphinxdoc] Error 2
And in the log file there is this:
# Sphinx version: 1.3.6
# Python version: 2.7.11+ (CPython)
# Docutils version: 0.12 release
# Jinja2 version: 2.8
# Last messages:
# Loaded extensions:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 243, in main
opts.warningiserror, opts.tags, opts.verbosity, opts.jobs)
File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 128, in __init__
confoverrides or {}, self.tags)
File "/usr/lib/python2.7/dist-packages/sphinx/config.py", line 277, in __init__
execfile_(filename, config)
File "/usr/lib/python2.7/dist-packages/sphinx/util/pycompat.py", line 128, in execfile_
exec_(code, _globals)
File "/usr/lib/python2.7/dist-packages/six.py", line 699, in exec_
exec("""exec _code_ in _globs_, _locs_""")
File "<string>", line 1, in <module>
File "conf.py", line 45, in <module>
grass_version = core.version()['version']
File "/data/home/mlennert/SRC/GRASS/grass_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/script/core.py", line 1519, in version
data = parse_command('g.version', flags='rge', errors='ignore')
File "/data/home/mlennert/SRC/GRASS/grass_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/script/core.py", line 503, in parse_command
return parse(res, **parse_args)
File "/data/home/mlennert/SRC/GRASS/grass_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/script/utils.py", line 215, in parse_key_val
v = decode(kv[1].strip())
File "/data/home/mlennert/SRC/GRASS/grass_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/script/utils.py", line 160, in decode
return bytes.decode(enc) if enc else bytes.decode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 36: ordinal not in range(128)
There is also:
https://grasswiki.osgeo.org/wiki/WxGUI_Programming_Howto
which should be probably moved to Trac or the documentation itself.
Right, didn't know about this. Thanks !
Moritz