<div dir="ltr">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].<div>

<br></div><div style>- Nathan</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 19, 2013 at 9:06 PM, Sandro Santilli <span dir="ltr"><<a href="mailto:strk@keybit.net" target="_blank">strk@keybit.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Tue, Feb 19, 2013 at 08:54:55PM +1000, Nathan Woodrow wrote:<br>
> Why not just hide it using Python method overriding:<br>
><br>
> QgsVectorLayer.attributeMap = QgsVectorLayer.attributes<br>
><br>
> Then you can just call attributesMap()[] and it will call<br>
> QgsVectorLayer.attributes for you.<br>
<br>
</div>I guess you meant QgsFeature.<br>
Didn't work, anyway:<br>
<br>
line 102, in doRemEdgeModFace<br>
    edge_id = feature.attributeMap()[edge_id_fno].toInt()[0]<br>
TypeError: QgsFeature.attributes(): first argument of unbound method must have type 'QgsFeature'<br>
<br>
is attributes() a free function rather than a method ?<br>
<br>
--strk;<br>
</blockquote></div><br></div>