Re: [Qgis-developer] attributeMap vs. attributes

2013-02-20 Thread Borys Jurgiel
I can try that. How do I encode that one version does NOT work with a newer QGIS ? I see there's a qgisMinimumVersion setting, is there also a qgisMaximumVersion ? Would it be used by plugin fetcher ? This mechanism has to not been implemented yet - neither in the plugin repository

[Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Sandro Santilli
My topological editing plugin broke due to attributeMap() being replaced by attributes() in the python API. If I change to use attributes() it won't work with 1.8 anymore. Is there any important reason to require changes in all plugins ? --strk; ___

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Victor Olaya
I faced the same problem with SEXTANTE (and there were a large number of calls to replace), and decided to go ahead and break compatibility with 1.8. Should be better in the mid-term, but it's true that it is not nice to leave a plugin depending now on an yet-unreleased version... If it is not a

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Sandro Santilli
On Tue, Feb 19, 2013 at 11:36:13AM +0100, Victor Olaya wrote: I faced the same problem with SEXTANTE (and there were a large number of calls to replace), and decided to go ahead and break compatibility with 1.8. Should be better in the mid-term, but it's true that it is not nice to leave a

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Victor Olaya
The ideas in the document that Richard mentions, about how to make it compatible for both versions, are maybe a better idea. I do not know if a maximum version can be set in the plugin metadata. :-( Regards Victor 2013/2/19 Sandro Santilli s...@keybit.net: On Tue, Feb 19, 2013 at 11:36:13AM

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Nathan Woodrow
Why not just hide it using Python method overriding: QgsVectorLayer.attributeMap = QgsVectorLayer.attributes Then you can just call attributesMap()[] and it will call QgsVectorLayer.attributes for you. - Nathan On Tue, Feb 19, 2013 at 8:53 PM, Victor Olaya vola...@gmail.com wrote: The ideas

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Sandro Santilli
On Tue, Feb 19, 2013 at 08:54:55PM +1000, Nathan Woodrow wrote: Why not just hide it using Python method overriding: QgsVectorLayer.attributeMap = QgsVectorLayer.attributes Then you can just call attributesMap()[] and it will call QgsVectorLayer.attributes for you. I guess you meant

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Nathan Woodrow
To answer the question of why it was changed. I was changed because attributes() is now a list not a map like before when it was called attributeMap(). You no longer have to do the index look up and just just do [index] or [name]. - Nathan On Tue, Feb 19, 2013 at 9:06 PM, Sandro Santilli

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Martin Dobias
On Tue, Feb 19, 2013 at 11:39 AM, Sandro Santilli s...@keybit.net wrote: On Tue, Feb 19, 2013 at 11:36:13AM +0100, Victor Olaya wrote: I faced the same problem with SEXTANTE (and there were a large number of calls to replace), and decided to go ahead and break compatibility with 1.8. Should be

Re: [Qgis-developer] attributeMap vs. attributes

2013-02-19 Thread Etienne Tourigny
Another approach is to test qgis version and use appropriate API. Many plugins do this. e.g. value tool if QGis.QGIS_VERSION_INT = 10900: mapCanvasSrs = self.iface.mapCanvas().mapRenderer().destinationCrs() else: mapCanvasSrs =

[Qgis-developer] attributeMap()

2013-02-02 Thread francescobocca...@libero.it
Hi all,i have some problem to adapt my old code to new API.i have below piece of code: index = vproviderA.fieldNameIndex(field) atMap = inFeat.attributeMap()idVar = atMap[ index ] to get a value of a this features in a field.Now is it no possbile because QgsFeature hasn't attributeMap().Ca you

Re: [Qgis-developer] attributeMap()

2013-02-02 Thread Martin Dobias
Hi Francesco On Sat, Feb 2, 2013 at 4:24 PM, francescobocca...@libero.it francescobocca...@libero.it wrote: i have some problem to adapt my old code to new API. i have below piece of code: index = vproviderA.fieldNameIndex(field) atMap = inFeat.attributeMap() idVar = atMap[ index ] to get