Re: [Gnumed-devel] wxpython and mac display bug solved ?

From:

Karsten Hilbert

Subject:

Re: [Gnumed-devel] wxpython and mac display bug solved ?

Date:

Mon, 16 Aug 2004 13:54:04 +0200

User-agent:

Mutt/1.3.22.1i

Dominique,
> >>and added a link called "Gnumed" to Users/dom/Desktop/gnumed/client/.
> >>But still the same error...
> >Very interesting ! Could you please check where the mxDateTime and
> >pyPgSQL modules are installed ? It seems that Python on Mac
> >uses a different name for "site-packages" ?!?
> /Library/Python/2.3/
We need to keep this piece of information around somewhere on
a Mac related page.
> Still doesn't work if I add the link to /gnumed/client there though.
Hm, without a Mac I have no idea where to put the link.
> I have also another problem. The latest version of wxpython (2.5.2.7)
> came out and the "sash" bug seems to be wiped out ...
> Problem is that I am not able to make gnumed work anymore...
I am not sure GnuMed works with wxPython 2.5 at the moment. It
should but I am not sure.
> that I also deleted the ~/.gnumed configuration file
That should be inconvenient but still work.
> and updated gnumed to the latest CVS.
Now, that should still work :-)
> When I try to start gnumed I receive this:
> Determining GnuMed base directory ...
...
> Determining GnuMed resource directory ...
> Traceback (most recent call last):
Strange as I thought we use the same code for both !?!
> File "wxpython/gnumed.py", line 292, in ?
> resPath = get_resource_dir()
> File "wxpython/gnumed.py", line 168, in get_resource_dir
> tmp = os.path.normcase(os.path.abspath(os.path.expanduser(candidate)))
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/posixpath.py",
> line 396, in abspath
> path = join(os.getcwd(), path)
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/posixpath.py",
> line 65, in join
> path += '/' + b
> TypeError: coercion should return None or 2-tuple
Strange, this would mean there's an unhandled exception in
posixpath.py which is part of the standard library. This works
in Python 2.1, 2.2. However, I have had this bug report on
another Python 2.3, too, so let's track it down. It seems
that posixpath.abspath() cannot cope with what "candidate" is.
We do check for candidate being None or '' in gnumed.py and
don't try to get a path from either. In your case - where
there is no gnumed.conf - _cfg will be the Null pattern, which
will return the Null pattern from _cfg.get(). Which will lead
to the Null pattern being passed in to abspath() which
apparently can't deal with it. Why is _cfg a Null pattern
instance in the first place ? Because we check for it being
None, not Null, in _set_cfg_file(). This is fixed now.
BTW, could you please check whether adding a Gnumed link to
/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/
or
/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/
helps any with the error described above ?
Karsten
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346