Hello, <br>I found the solution, I didnt realize  that plpy.execute returns a dictionary. <br>Works fine if anybody is interested:<br><br>CREATE OR REPLACE FUNCTION gis_pos_update()<br>  RETURNS "trigger" AS<br>$BODY$<br>
long = TD["new"]["long"]<br>lat = TD["new"]["lat"]<br>new_geom = plpy.execute("select GeomFromText('POINT(%s %s)', -1) as geo;" % (long, lat), 0)<br>TD["new"]["gis_pos"] = new_geom[0]['geo']<br>
return "MODIFY"<br>$BODY$<br>  LANGUAGE 'plpythonu' VOLATILE;<br>ALTER FUNCTION gis_pos_update() OWNER TO pmartinez;<br><br><br>regards pedro<br><br><br><br><br><div class="gmail_quote">2008/5/18 Pedro Martinez Arbizu <<a href="mailto:pmartinez@senckenberg.de">pmartinez@senckenberg.de</a>>:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello I want to create a trigger with plplythonu<br>that will take long and lat from columns "long" and "lat" and write/update into column "gis_pos" GeomFromText('POINT(long lat)') when "long" and/or "lat" are updated or inserted.<br>

<br>I thought it would be as simple as:<br><br>CREATE OR REPLACE FUNCTION update_gispos()<br>  RETURNS "trigger" AS<br>$BODY$<br>TD["new"]["gis_pos"] = GeomFromText('POINT(TD["new"]["long"] TD["new"]["lat"])')<br>

return "MODIFY"<br>$BODY$<br>  LANGUAGE 'plpythonu' VOLATILE;<br>ALTER FUNCTION update_gispos() OWNER TO pmartinez;<br><br>This raise the error global name GeomFromText is unknown.<br><br>FEHLER:  plpython: function "update_gispos" failed<br>

DETAIL:  exceptions.NameError: global name 'GeomFromText' is not defined<br><br><br>How can I make the function GeomFromText available within the Trigger function?<br><br>--<br>I also tried to parse long and lat with string formating:<br>

<br>CREATE OR REPLACE FUNCTION update_gispos()<br>  RETURNS "trigger" AS<br>$BODY$<br>TD["new"]["gis_pos"] = "GeomFromText('POINT(%s %s)')" %(TD["new"]["long"], TD["new"]["lat"])<br>

return "MODIFY"<br>$BODY$<br>  LANGUAGE 'plpythonu' VOLATILE;<br>ALTER FUNCTION update_gispos() OWNER TO pmartinez;<br><br><br>Which obviously raise an error, I guess because geometry cannot be a string:<br>

FEHLER:  parse error - invalid geometry<br><br>I would appreciate any help.<br><font color="#888888"><br>pedro<br>
</font></blockquote></div><br>