[Qgis-developer] QGIS 2.0 and PyQT v2 update

Matthias Kuhn matthias.kuhn at gmx.ch
Thu May 2 05:06:57 PDT 2013


On Don 02 Mai 2013 11:30:05 CEST, Tim Sutton wrote:
> Hi
>
> My opinion is we should rather break as many things in possible in one
> go, instead of multiple times. So if there is someone willing to do
> the API change to PyQt V2 I would prefer that we lift the API freeze
> and draw out the release rather than stick dogmatically to the
> deadlines and create huge inconvenience to plugin writers twice.
>
>

Thank you Tim and Marco.

Your link looks interesting indeed, Marco. But I wonder if the problem 
there is the same. I think they have a library, which is used by 
different python projects which will use either SIP API V1 or V2 and 
their library is able to deal with both scenarios. So this would rather 
be a possibility to make a plugin work with both API Versions (QGIS 1.8 
and 2.0) by rewriting the plugin to use this compat library.

What we would rather need would be to "inject" some legacy code if a 
plugin is using QString or QVariant (which is sometimes hard to detect 
as in the case of QSettings methods returning a QVariant in API v1 and 
native python objects in v2 so you can't tell from the plugin code, as 
it will just call e.g. toString() on a native python object)

But if we're able to integrate this, all the better! I just don't see 
the solution now.

It seems to me, that the main part of the remaining work is to update 
the core plugins. It would probably be the easiest, if the developers 
of these could do this, because they know the code best. Of course 
these people might not even be active developers any more, might be 
busy with other projects at the moment or have other reasons to leave 
the work to sombody else.

I still looked through the metadata.txt files and gathered the 
information, so if any of you is willing (or not) to port, please give 
a signal.

DB Manager: Giuseppe Sucameli
fTools: Carson Farmer
GdalTools: Giuseppe Sucameli (Faunalia)
MapServer Export: Gary E. Sherman
Plugin Installer: Borys Jurgiel
SEXTANTE: Victor Olaya

To make things easier, I think some automation would be nice. I've 
found two tools which could help, but I don't know them. Maybe somebody 
can help here or bring up another one which I forgot?

* Python rope refactoring library [1]
* Python 2to3 [2]. Actually a tool for performing upgrades from Python 
V2 to Python V3, but it has an interface for custom "fixers" which will 
rewrite code.

Kind regards,
Matthias

[1] http://rope.sourceforge.net/
[2] http://wiki.python.org/moin/2to3


More information about the Qgis-developer mailing list