<div dir="ltr"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">Etienne,</span><br><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><font color="#000000" face="arial, sans-serif">Basically </font><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">QVariant no longer exits in PyQt so if you have from PyQt4.QtCore import QVariant you can remove it, or if you have: myvalue = </span><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">QVariant(10) change it to myvalue = 10.</span></div>

<div style><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">- Nathan</span></div></div><div class="gmail_extra">

<br><br><div class="gmail_quote">On Fri, May 31, 2013 at 12:41 PM, Nathan Woodrow <span dir="ltr"><<a href="mailto:madmanwoo@gmail.com" target="_blank">madmanwoo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Etienne,<div><br></div><div>If self.attrStr() is something like QVariant(value) then you need to remove the QVariant() bit call.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>- Nathan</div>

</font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br>
<br><div class="gmail_quote">On Fri, May 31, 2013 at 12:39 PM, Nathan Woodrow <span dir="ltr"><<a href="mailto:madmanwoo@gmail.com" target="_blank">madmanwoo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr">Yeah they both return QVariant but that is auto converted to a Python object by SIP.  <div><br></div><div>Not sure what is going on there I'll look into it.</div><div><br></div><div>I get the right return result if I called feature.attribute().</div>



<div><br></div><div>Which platform are you on?</div><span><font color="#888888"><div><br></div><div>- Nathan</div></font></span></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Fri, May 31, 2013 at 12:30 PM, Etienne Tourigny <span dir="ltr"><<a href="mailto:etourigny.dev@gmail.com" target="_blank">etourigny.dev@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br><div class="gmail_quote"><div>On Thu, May 30, 2013 at 3:12 AM, Nathan Woodrow <span dir="ltr"><<a href="mailto:madmanwoo@gmail.com" target="_blank">madmanwoo@gmail.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hey all,<div><br></div><div>I have decided to manage the SIP API update process so that we can have it done by 2.0.  This is an important update as leaving it for later will break every plugin yet again at later date which just leaves a really bad taste for people to deal with. A few plugin authors have already expressed that they would not be impressed having to do another major update again in the future. And I agree.</div>






<div><br></div><div>So having said that this is the current plan:</div><div><br></div><div>- I have created a branch with the SIP API v2 update</div><div> - Update all the core plugins in the sipapi-udate[0] branch over the next couple of days</div>






<div>-  Merge into master</div><div><br></div><div>I couldn't update all the core plugins myself BUT it would be a lot easier if I could call on the plugin authors to run though their own code and do the quick update.  The risk of me doing it is that I might break something and not know it.  You know your code best so the help would be greatly appreciated.  </div>






<div><br></div><div>I updated most of the console code and Salvatore has already cleaned the rest up for me so that is one thing out of the way.</div><div><br></div><div>And here comes the kicker: I would like to do this as quickly as we can so to reduce the gap between master and the branch.  The sooner we merge it to master the sooner we can open it to wider testing, but I don't expect to run into any major issues when we do.</div>






<div><br></div><div>If you are not aware of what benefits the SIP API update will bring here is a quick example:</div><div><br></div><div>Before:</div><div><br></div><div>>>> str(yourlineedit.text().toString())</div>






<div>'Hello World'</div><div>>>> feature["column"].toInt()[0]<br></div><div>100</div><div><br></div><div>After</div><div><br></div><div>>>> yourlineedit.text()<br>

</div><div>'Hello World'</div><div>>>> feature["column"]<br></div><div>1000</div></div></blockquote><div><br></div></div><div>I am trying to update a plugin (tileindex) using your branch and I get the following an error</div>




<div><br></div><div>     fileName = feature[self.attrStr]</div>
<p style="margin:0px">TypeError: PyQt4.QtCore.QVariant represents a mapped type and cannot be instantiated<br></p><p style="margin:0px"><br></p><p style="margin:0px">It seems that feature[], as well as feature.attribute() return a QVariant (defined in qgsfeature.sip), which is incompatible with SIP API v2.</p>




<p style="margin:0px"><br></p><p style="margin:0px">How can this be fixed in the plugin or qgis?</p><p style="margin:0px"><br></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<div dir="ltr"><div><br></div><div>It will make life for us and plugin authors a hell of a lot easier. </div>

<div><br></div><div>I have put together a quick guide[1] with some examples.  It is open edit so feel free to add any notes you have. It might be good to turn it into a plugin translate guide for future plugin authors moving to 2.0.</div>






<div><br></div><div>Regards,</div><div>Nathan</div><div><br></div><div>[0] <a href="https://github.com/qgis/Quantum-GIS/tree/sipapi-update" target="_blank">https://github.com/qgis/Quantum-GIS/tree/sipapi-update</a></div>






<div>[1] <a href="https://docs.google.com/document/d/1S85DMEC71AOzTkF1_EpnF0dhVb2On2EVq4E5s1EXoNM/edit?usp=sharing" target="_blank">https://docs.google.com/document/d/1S85DMEC71AOzTkF1_EpnF0dhVb2On2EVq4E5s1EXoNM/edit?usp=sharing</a></div>






<div><br></div><div><br></div><div><br></div><div><br></div></div>
<br></div><div>_______________________________________________<br>
Qgis-developer mailing list<br>
<a href="mailto:Qgis-developer@lists.osgeo.org" target="_blank">Qgis-developer@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
<br></div></blockquote></div><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>