<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>si lo hago tal y como me has escrito (el gestor de complementos, menú Herramientas/Administrador de 
complementos y luego en la instalación standard selecciona Scripting 
Framework). <br>sí que encuentro el pluguin pero no me deja seleccionarlo y seguir, no solo eneste pluguin sino en ninguno, por eso preguntaba si lo podia descargar y instalarlo yo mismo (desde archivo...)<br></blockquote>
<div><br>lo he descargado de <a href="http://www.gvsig.org">www.gvsig.org</a> y aunque en la pagina insiste en que la versión está en prueba si que se encuentra la herramienta, pero me aparece error y no puedo acceder a ella.<br>
<br><br></div><div><br>luego he provado de descargar el gvsig 2.0 y me da error:<br>JAVA.LANG.NULLPOINTEREXCEPTION<br>
  
    <font color="#FF0000" size="3">Errors in initialization of application. 
    Can&#39;t initialize extension 
    &#39;org.gvsig.metadata.app.extension.MetadataPreferencesExtension&#39;. Can&#39;t 
    initialize extension &#39;org.gvsig.metadata.app.extension.MetadataExtension&#39;. 
    postInitialize of extension 
    &#39;org.gvsig.educa.thematicmap.app.viewer.ThematicMapExtension&#39; failed 
    postInitialize of extension &#39;org.gvsig.app.extension.TableExtension&#39; 
    failed postInitialize of extension 
    &#39;org.gvsig.app.extension.LayoutMainExtension&#39; failed postInitialize of 
    extension &#39;org.gvsig.editing.CADExtension&#39; failed</font><br><font color="#800000" size="3">org.gvsig.andami.Launcher$LaunchException: 
    Errors in initialization of application. Can&#39;t initialize extension 
    &#39;org.gvsig.metadata.app.extension.MetadataPreferencesExtension&#39;. Can&#39;t 
    initialize extension &#39;org.gvsig.metadata.app.extension.MetadataExtension&#39;. 
    postInitialize of extension 
    &#39;org.gvsig.educa.thematicmap.app.viewer.ThematicMapExtension&#39; failed 
    postInitialize of extension &#39;org.gvsig.app.extension.TableExtension&#39; 
    failed postInitialize of extension 
    &#39;org.gvsig.app.extension.LayoutMainExtension&#39; failed postInitialize of 
    extension &#39;org.gvsig.editing.CADExtension&#39; failed<br>    org.gvsig.andami.Launcher.addError(Launcher.java:283)<br>    org.gvsig.andami.Launcher.addError(Launcher.java:290)<br>    org.gvsig.andami.Launcher.initializeExtensions(Launcher.java:1272)<br>
    org.gvsig.andami.Launcher.access$000(Launcher.java:196)<br>    org.gvsig.andami.Launcher$3.run(Launcher.java:470)<br>    java.awt.event.InvocationEvent.dispatch(Unknown 
    Source)<br>    java.awt.EventQueue.dispatchEventImpl(Unknown Source)<br>    java.awt.EventQueue.access$000(Unknown 
    Source)<br>    java.awt.EventQueue$3.run(Unknown Source)<br>    java.awt.EventQueue$3.run(Unknown 
    Source)<br>    java.security.AccessController.doPrivileged(Native Method)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.awt.EventQueue.dispatchEvent(Unknown Source)<br>    org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:67)<br>    java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEventsForFilter(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEvents(Unknown Source)<br>    java.awt.EventDispatchThread.pumpEvents(Unknown 
    Source)<br>    java.awt.EventDispatchThread.run(Unknown Source)<br></font><font color="#FF0000" size="3">java.lang.NullPointerException</font><font color="#800000" size="3"><br></font><font color="#FF0000" size="3">java.lang.NullPointerException</font><font color="#800000" size="3"><br>
java.lang.NullPointerException: 
    null<br>    org.gvsig.app.project.documents.layout.DefaultLayoutManager.getDefinition(DefaultLayoutManager.java:374)<br>    org.gvsig.tools.persistence.impl.DefaultFactories.get(DefaultFactories.java:75)<br>    org.gvsig.tools.persistence.impl.AbstractPersistenceManager.getDynObjectDefinition(AbstractPersistenceManager.java:127)<br>
    org.gvsig.andami.PluginServices.getPluginProperties(PluginServices.java:732)<br>    org.gvsig.scripting.app.extension.ScriptingExtension.execute(ScriptingExtension.java:53)<br>    org.gvsig.andami.actioninfo.impl.DefaultActionInfo.execute(DefaultActionInfo.java:215)<br>
    org.gvsig.andami.actioninfo.impl.DefaultActionInfo.actionPerformed(DefaultActionInfo.java:245)<br>    javax.swing.AbstractButton.fireActionPerformed(Unknown 
    Source)<br>    javax.swing.AbstractButton$Handler.actionPerformed(Unknown 
    Source)<br>    javax.swing.DefaultButtonModel.fireActionPerformed(Unknown 
    Source)<br>    javax.swing.DefaultButtonModel.setPressed(Unknown Source)<br>    javax.swing.AbstractButton.doClick(Unknown 
    Source)<br>    javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown 
    Source)<br>    javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown 
    Source)<br>    java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)<br>    java.awt.Component.processMouseEvent(Unknown 
    Source)<br>    javax.swing.JComponent.processMouseEvent(Unknown Source)<br>    java.awt.Component.processEvent(Unknown 
    Source)<br>    java.awt.Container.processEvent(Unknown Source)<br>    java.awt.Component.dispatchEventImpl(Unknown 
    Source)<br>    java.awt.Container.dispatchEventImpl(Unknown Source)<br>    java.awt.Component.dispatchEvent(Unknown 
    Source)<br>    java.awt.LightweightDispatcher.retargetMouseEvent(Unknown 
    Source)<br>    java.awt.LightweightDispatcher.processMouseEvent(Unknown 
    Source)<br>    java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)<br>    java.awt.Container.dispatchEventImpl(Unknown 
    Source)<br>    java.awt.Component.dispatchEvent(Unknown Source)<br>    java.awt.EventQueue.dispatchEventImpl(Unknown 
    Source)<br>    java.awt.EventQueue.access$000(Unknown Source)<br>    java.awt.EventQueue$3.run(Unknown 
    Source)<br>    java.awt.EventQueue$3.run(Unknown Source)<br>    java.security.AccessController.doPrivileged(Native 
    Method)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.awt.EventQueue$4.run(Unknown Source)<br>    java.awt.EventQueue$4.run(Unknown 
    Source)<br>    java.security.AccessController.doPrivileged(Native Method)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.awt.EventQueue.dispatchEvent(Unknown Source)<br>    org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:67)<br>    java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEventsForFilter(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEvents(Unknown Source)<br>    java.awt.EventDispatchThread.pumpEvents(Unknown 
    Source)<br>    java.awt.EventDispatchThread.run(Unknown Source)<br></font><font color="#FF0000" size="3">java.lang.NullPointerException</font><font color="#800000" size="3"><br></font><font color="#FF0000" size="3">java.lang.NullPointerException</font><font color="#800000" size="3"><br>
java.lang.NullPointerException: 
    null<br>    org.gvsig.app.project.documents.layout.DefaultLayoutManager.getDefinition(DefaultLayoutManager.java:374)<br>    org.gvsig.tools.persistence.impl.DefaultFactories.get(DefaultFactories.java:75)<br>    org.gvsig.tools.persistence.impl.AbstractPersistenceManager.getDynObjectDefinition(AbstractPersistenceManager.java:127)<br>
    org.gvsig.andami.PluginServices.getPluginProperties(PluginServices.java:732)<br>    org.gvsig.scripting.app.extension.ScriptingExtension.execute(ScriptingExtension.java:53)<br>    org.gvsig.andami.actioninfo.impl.DefaultActionInfo.execute(DefaultActionInfo.java:215)<br>
    org.gvsig.andami.actioninfo.impl.DefaultActionInfo.actionPerformed(DefaultActionInfo.java:245)<br>    javax.swing.AbstractButton.fireActionPerformed(Unknown 
    Source)<br>    javax.swing.AbstractButton$Handler.actionPerformed(Unknown 
    Source)<br>    javax.swing.DefaultButtonModel.fireActionPerformed(Unknown 
    Source)<br>    javax.swing.DefaultButtonModel.setPressed(Unknown Source)<br>    javax.swing.AbstractButton.doClick(Unknown 
    Source)<br>    javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown 
    Source)<br>    javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown 
    Source)<br>    java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)<br>    java.awt.Component.processMouseEvent(Unknown 
    Source)<br>    javax.swing.JComponent.processMouseEvent(Unknown Source)<br>    java.awt.Component.processEvent(Unknown 
    Source)<br>    java.awt.Container.processEvent(Unknown Source)<br>    java.awt.Component.dispatchEventImpl(Unknown 
    Source)<br>    java.awt.Container.dispatchEventImpl(Unknown Source)<br>    java.awt.Component.dispatchEvent(Unknown 
    Source)<br>    java.awt.LightweightDispatcher.retargetMouseEvent(Unknown 
    Source)<br>    java.awt.LightweightDispatcher.processMouseEvent(Unknown 
    Source)<br>    java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)<br>    java.awt.Container.dispatchEventImpl(Unknown 
    Source)<br>    java.awt.Component.dispatchEvent(Unknown Source)<br>    java.awt.EventQueue.dispatchEventImpl(Unknown 
    Source)<br>    java.awt.EventQueue.access$000(Unknown Source)<br>    java.awt.EventQueue$3.run(Unknown 
    Source)<br>    java.awt.EventQueue$3.run(Unknown Source)<br>    java.security.AccessController.doPrivileged(Native 
    Method)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.awt.EventQueue$4.run(Unknown Source)<br>    java.awt.EventQueue$4.run(Unknown 
    Source)<br>    java.security.AccessController.doPrivileged(Native Method)<br>    java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown 
    Source)<br>    java.awt.EventQueue.dispatchEvent(Unknown Source)<br>    org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:67)<br>    java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEventsForFilter(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown 
    Source)<br>    java.awt.EventDispatchThread.pumpEvents(Unknown Source)<br>    java.awt.EventDispatchThread.pumpEvents(Unknown 
    Source)<br>    java.awt.EventDispatchThread.run(Unknown Source)<br><span style><span style="background-color:rgb(0,0,0)"><font size="3"><br></font></span></span></font><br><font size="3"><span style><span style="background-color:rgb(0,0,0)"><font size="3"><span style="background-color:rgb(255,255,255)">¿ Puedo descargar un paquete o similar de gvsig srcipting framework para gvsig 1.11 ? <br>
¿de dónde te lo descargaste tu?<span style></span></span></font><br></span></span></font>
  

<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br>
<br>gracias<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">2012/11/19 Victor Acevedo <span dir="ltr">&lt;<a href="mailto:vacevedo.gvsig.org@gmail.com" target="_blank">vacevedo.gvsig.org@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>El 19/11/12 10:04, pau maudos bonjoch escribió:<br>
<br>
&gt;<br>
</div><div>&gt; otra cosa como lo has ejecutado, ¿mediante un compliador de Phyton? ¿Cual?<br>
&gt;<br>
<br>
</div>Hola de nuevo,<br>
<br>
a esto no te he respondido. Python es un lenguaje interpretado, no<br>
necesita compilarse. Lo que necesitas es tener instalado el intérprete.<br>
Puedes obtener más información desde la página del proyecto [1].<br>
De todas formas, verás que la extensión de scripting lleva incorporado<br>
un terminal desde el que puedes hacer pruebas y tiene la ventaja de<br>
estar integrado en gvSIG, por lo que puedes acceder a lo que tengas<br>
cargado desde este terminal.<br>
<br>
Saludos,<br>
Victor Acevedo<br>
<br>
<br>
[1] <a href="http://www.python.org/" target="_blank">http://www.python.org/</a><br>
<div><br>
<br>
&gt; Saludos y gracias de antemano,<br>
&gt;<br>
&gt; Pau<br>
&gt;<br>
&gt; PD: Si a otros usuarios se os ocurre como hacerlo promonerlo!<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2012/11/16 Victor Acevedo &lt;<a href="mailto:vacevedo.gvsig.org@gmail.com" target="_blank">vacevedo.gvsig.org@gmail.com</a>&gt;<br>
&gt;<br>
&gt;&gt; El 16/11/12 12:25, pau maudos bonjoch escribió:<br>
&gt;&gt;<br>
&gt;&gt;   Hola soy Pau<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Estoy trabajando con el código de SIOSE y quiero rellenar otro campo según<br>
&gt;&gt;&gt; una serie de parámetros que cito a posteriormente (un poco más abajo).<br>
&gt;&gt;&gt; Este codigo corresponde al SIOSE que catalogó los usos del suelo de<br>
&gt;&gt;&gt; España,<br>
&gt;&gt;&gt; pero la lió muchisima al querer poner demasiada información en un mismo<br>
&gt;&gt;&gt; poligono.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; El codigo es algo parecido a esto:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I(90FDPpl_05FDC_05SNE)<br>
&gt;&gt;&gt; AAR(80EDFva_10CHLsc_10PRDsc)<br>
&gt;&gt;&gt; A(80MTR_10FDPpl_10SNE)<br>
&gt;&gt;&gt; FDPpl<br>
&gt;&gt;&gt; A(70FDC_30MTR)<br>
</div><div>&gt;&gt;&gt; AAR(70EDFva_10PRDsc_10CHLsc_**10FDC)<br>
&gt;&gt;&gt; A(85FDPpl_10FDC_05SNE)<br>
&gt;&gt;&gt; FDC<br>
&gt;&gt;&gt; I(40PRDsc_40CHLsc_10FDC_**05EDFva_05VAP)<br>
&gt;&gt;&gt; A(60MTR_40FDPpl)<br>
&gt;&gt;&gt; I(35EDFvd_35UEN(45ZAU_35EDFvd_**20VAP)_15PAG(55SNE_35EDFnv_**<br>
&gt;&gt;&gt; 05OCT_05VAP)_15PRDsc)<br>
&gt;&gt;&gt; I(50PST_25ECM(75OCT_15ZAU_**10VAP)_25SNE)<br>
</div><div>&gt;&gt;&gt; A(85CNFpl_15MTR)<br>
&gt;&gt;&gt; I(50FDC_40PRDsc_10EDFva)<br>
&gt;&gt;&gt; A(60MTR_30PST_10SNE)<br>
&gt;&gt;&gt; UEN(40EDFvd_40ZAU_20VAP)<br>
&gt;&gt;&gt; NRV(85VAP_15ZAU)<br>
&gt;&gt;&gt; A(70MTR_30SNE)<br>
</div><div><div>&gt;&gt;&gt; I(75PRDsc_25IAS(80EDFnv_20ZEV)**)<br>
&gt;&gt;&gt; A(55MTR_30FDC_15SNE)<br>
&gt;&gt;&gt; A(80CNFpl_20MTR)<br>
&gt;&gt;&gt; I(70FDCfr_30ACU)<br>
&gt;&gt;&gt; I(55PRDsc_35MTRpc_05FDPpl_**05SNE)<br>
&gt;&gt;&gt; A(65MTRpc_35FDC)<br>
&gt;&gt;&gt; AAR(60EDFva_20PRDsc_10CHLsc_**10FDC)<br>
&gt;&gt;&gt; A(60FDC_30MTR_10SNE)<br>
&gt;&gt;&gt; I(35PRDsc_30LOCsc_25IAS(**50EDFnv_25VAP_20SNE_05ZAU)_**10EDFva)<br>
&gt;&gt;&gt; I(40PRDsc_25EDFva_25IAS(**80EDFnv_20VAP)_10UEN(80EDFvd_**20SNE))<br>
&gt;&gt;&gt; EDU(35OCT_35SNE_15EDFea_15VAP)<br>
&gt;&gt;&gt; I(60AAR(90EDFva_05PRDsc_**05CHLsc)_40PRDsc)<br>
&gt;&gt;&gt; I(35PRDsc_20CHLsc_20FDC_**10EDFva_10EDFnv_05VAP)<br>
&gt;&gt;&gt; I(80PRDsc_10CHLsc_05FDC_05VAP)<br>
&gt;&gt;&gt; AAR(70EDFva_10FDC_10CHLsc_**10PRDsc)<br>
&gt;&gt;&gt; I(40MTR_40FDC_20EDFva)<br>
&gt;&gt;&gt; FDC<br>
&gt;&gt;&gt; I(25AAR(EDFva)_25CHLsc_**25PRDsc_15FDC_10EDFva)<br>
&gt;&gt;&gt; I(30PRDsc_30EDFva_20AAR(**90EDFva_05PRDsc_05CHLsc)_**<br>
&gt;&gt;&gt; 10UEN(90EDFvd_05ZAU_05VAP)_**05FDC_05LOCsc)<br>
&gt;&gt;&gt; PAG(80ZEV_15EDFnv_05VAP)<br>
&gt;&gt;&gt; I(65PRDsc_20CHLsc_10VAP_05FDC)<br>
&gt;&gt;&gt; I(30PRDsc_30CHLsc_15EDFva_**10MTR_10PAG(80ZEV_20EDFnv)_**05VAP)<br>
&gt;&gt;&gt; A(75FDC_15PRDsc_10FDPpl)<br>
&gt;&gt;&gt; A(55MTR_40FDPpl_05SNE)<br>
&gt;&gt;&gt; A(70MTR_25CNFpl_05SNE)<br>
&gt;&gt;&gt; I(65PRDsc_25CHLsc_05FDC_**05EDFva)<br>
&gt;&gt;&gt; A(70CNFpl_15FDPpl_15MTR)<br>
&gt;&gt;&gt; I(60PRDsc_20CHLsc_10FDC_**05EDFnv_05VAP)<br>
&gt;&gt;&gt; I(65PRDsc_15FDC_10MTRct_05VAP_**05EDFva)<br>
&gt;&gt;&gt; I(55PRDsc_30FDC_10FDPpl_05VAP)<br>
&gt;&gt;&gt; PRDsc<br>
&gt;&gt;&gt; I(55EDFva_30PRDsc_15FDC)<br>
&gt;&gt;&gt; EDP(60ZAU_15SNE_10EDFea_10VAP_**05OCT)<br>
&gt;&gt;&gt; I(65PRDsc_30CHLsc_05SNE)<br>
&gt;&gt;&gt; PAG(70ZEV_15ZAU_10EDFnv_05VAP)<br>
&gt;&gt;&gt; AAR(65EDFva_30PRDsc_05CHLsc)<br>
&gt;&gt;&gt; I(90UEN(75EDFea_10SNE_10VAP_**05ZAU)_10UCS(90EDFva_10ZAU))<br>
</div></div><div><div>&gt;&gt;&gt; ...<br>
&gt;&gt;&gt; ...<br>
&gt;&gt;&gt; ...<br>
&gt;&gt;&gt; estos son los codigos que pertenecen a distintos poligonos...<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cada grupo de tres letras le corresponde un uso distinto.<br>
&gt;&gt;&gt; yo quisiera rellenar en otra columna la siguiente operación<br>
&gt;&gt;&gt; - haciendo una suma del % del uso predominante (se que este es muy<br>
&gt;&gt;&gt; complicado, debido a que el codigo es muy complejo...)<br>
&gt;&gt;&gt; - o bién, otro caso que se aproximaria al objetivo es que se muestren en<br>
&gt;&gt;&gt; otro campo las tres primeras letras MAYUSCULAS, dentro de cada parentesis<br>
&gt;&gt;&gt; si  contienen parentesis, sino las tres que hay en el poligono en<br>
&gt;&gt;&gt; cuestion.<br>
&gt;&gt;&gt; El problema es que antes del parentesis puedes encontrarte des de una<br>
&gt;&gt;&gt; letra<br>
&gt;&gt;&gt; o tres.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Al final lo deje, el codigo pudo conmigo, si pudieras darle un par de<br>
&gt;&gt;&gt; vueltas al asunto me harias un gran favor.<br>
&gt;&gt;&gt; Sé que no es tarea fácil, pero seria de muy gran ayuda. Además, pareces<br>
&gt;&gt;&gt; que<br>
&gt;&gt;&gt; dominas el tema a la perfección.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; gracias de antemano<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Pau<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; PD: perdon en el anterior no tenia asunto<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hola Pau,<br>
&gt;&gt;<br>
&gt;&gt; no he entendido tu primera intención, pero la aproximación<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; - o bién, otro caso que se aproximaria al objetivo es que se muestren en<br>
&gt;&gt; otro campo las tres primeras letras MAYUSCULAS, dentro de cada parentesis<br>
&gt;&gt; si  contienen parentesis, sino las tres que hay en el poligono en cuestion.<br>
&gt;&gt; El problema es que antes del parentesis puedes encontrarte des de una letra<br>
&gt;&gt; o tres.<br>
&gt;&gt;<br>
&gt;&gt; no es tan complicada mediante un script. Si lo he entendido bien.<br>
&gt;&gt; Necesitas las 3 primeras ocurrencias de letras en mayúsculas después de un<br>
&gt;&gt; paréntesis, y si no hay paréntesis, lo que sea que haya en la cadena.<br>
&gt;&gt;<br>
&gt;&gt; Lo que he hecho es copiar los datos que adjuntas en el correo en un<br>
&gt;&gt; archivo que he dejado en &#39;/tmp/codigos.txt&#39; y montar el siguiente script.<br>
&gt;&gt; Está hecho deprisa y corriendo pero te dará una idea de lo que pudes hacer.<br>
&gt;&gt;<br>
&gt;&gt; {{{<br>
&gt;&gt;<br>
&gt;&gt; import re<br>
&gt;&gt;<br>
&gt;&gt; def main():<br>
&gt;&gt;<br>
&gt;&gt;    f = file(&quot;/tmp/codigos.txt&quot;, &quot;r&quot;)<br>
&gt;&gt;<br>
&gt;&gt;    #recorre las lineas del archivo<br>
&gt;&gt;    for index, line in enumerate(f.readlines()):<br>
&gt;&gt;      print &quot;%s, %s&quot;%(index,line)<br>
&gt;&gt;<br>
&gt;&gt;      #Si no encuentra un &quot;(&quot; devuelve el codigo<br>
&gt;&gt;      if line.find(&quot;(&quot;) ==-1:<br>
&gt;&gt;        print line<br>
&gt;&gt;        continue<br>
&gt;&gt;      patron = re.compile(&quot;[A-Z]{3}&quot;)<br>
&gt;&gt;      index = 0<br>
&gt;&gt;<br>
&gt;&gt;      #busca dentro de la linea todos los &quot;(&quot;<br>
&gt;&gt;      while (line.find(&quot;(&quot;, index, len(line)) !=-1):<br>
&gt;&gt;          index = line.find(&quot;(&quot;, index, len(line)) +1<br>
&gt;&gt;          dd = line[index:]<br>
&gt;&gt;<br>
&gt;&gt;          #busca las 3 primeras mayusculas en la cadena<br>
&gt;&gt;          r=patron.search(dd)<br>
&gt;&gt;<br>
&gt;&gt;          #si se ha encontrado algo imprime el resultado<br>
&gt;&gt;          if r:<br>
&gt;&gt;              print r.string[r.start():r.end()]<br>
&gt;&gt;<br>
&gt;&gt;    file.close()<br>
&gt;&gt;<br>
&gt;&gt; }}}<br>
&gt;&gt;<br>
&gt;&gt; El resultado que obtengo de tus datos (10 líneas) es:<br>
&gt;&gt;<br>
&gt;&gt; 0, I(90FDPpl_05FDC_05SNE)<br>
&gt;&gt; FDP<br>
&gt;&gt;<br>
&gt;&gt; 1, AAR(80EDFva_10CHLsc_10PRDsc)<br>
&gt;&gt; EDF<br>
&gt;&gt;<br>
&gt;&gt; 2, A(80MTR_10FDPpl_10SNE)<br>
&gt;&gt; MTR<br>
&gt;&gt;<br>
&gt;&gt; 3, FDPpl<br>
&gt;&gt; FDPpl<br>
&gt;&gt;<br>
&gt;&gt; 4, A(70FDC_30MTR)<br>
&gt;&gt; FDC<br>
&gt;&gt;<br>
</div></div>&gt;&gt; 5, AAR(70EDFva_10PRDsc_10CHLsc_**10FDC)<br>
<div>&gt;&gt; EDF<br>
&gt;&gt;<br>
&gt;&gt; 6, A(85FDPpl_10FDC_05SNE)<br>
&gt;&gt; FDP<br>
&gt;&gt;<br>
&gt;&gt; 7, FDC<br>
&gt;&gt; FDC<br>
&gt;&gt;<br>
</div>&gt;&gt; 8, I(40PRDsc_40CHLsc_10FDC_**05EDFva_05VAP)<br>
&gt;&gt; PRD<br>
&gt;&gt;<br>
&gt;&gt; 9, A(60MTR_40FDPpl)<br>
&gt;&gt; MTR<br>
&gt;&gt;<br>
&gt;&gt; 10, I(35EDFvd_35UEN(45ZAU_35EDFvd_**20VAP)_15PAG(55SNE_35EDFnv_**<br>
<div>&gt;&gt; 05OCT_05VAP)_15PRDsc)<br>
&gt;&gt; EDF<br>
&gt;&gt; ZAU<br>
&gt;&gt; SNE<br>
&gt;&gt;<br>
&gt;&gt; Si resulta que tienes la capa cargada en gvSIG 2.0 puedes crearte una capa<br>
&gt;&gt; nueva con los resultados. Si estas interesado,dímelo y te mando una<br>
&gt;&gt; aproximación.<br>
&gt;&gt;<br>
&gt;&gt; Te adjunto 3 archivos.<br>
&gt;&gt; - los codigos de tu correo en un txt (codigos.txt)<br>
&gt;&gt; - los resultados de ejecutar el script usando el archivo anterior<br>
&gt;&gt; - el código<br>
&gt;&gt;<br>
&gt;&gt; Saludos,<br>
&gt;&gt; Victor Acevedo<br>
&gt;&gt;<br>
&gt;&gt;<br>
</div>&gt;&gt;   ______________________________**_________________<br>
<div>&gt;&gt;&gt; gvSIG_usuarios mailing list<br>
&gt;&gt;&gt; <a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Para ver histórico de mensajes, editar sus preferencias de usuario o<br>
&gt;&gt;&gt; darse de baja en esta lista, acuda a la siguiente dirección:<br>
&gt;&gt;&gt;<br>
</div>&gt;&gt;&gt; <a href="http://listserv.gva.es/cgi-**bin/mailman/listinfo/gvsig_**usuarios" target="_blank">http://listserv.gva.es/cgi-**bin/mailman/listinfo/gvsig_**usuarios</a>&lt;<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>&gt;<br>


<div><div>&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; gvSIG_usuarios mailing list<br>
&gt;&gt; <a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a><br>
&gt;&gt;<br>
&gt;&gt; Para ver histórico de mensajes, editar sus preferencias de usuario o darse<br>
&gt;&gt; de baja en esta lista, acuda a la siguiente dirección:<br>
&gt;&gt;<br>
&gt;&gt; <a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; gvSIG_usuarios mailing list<br>
&gt; <a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a><br>
&gt;<br>
&gt; Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:<br>
&gt;<br>
&gt; <a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
&gt;<br>
<br>
_______________________________________________<br>
gvSIG_usuarios mailing list<br>
<a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a><br>
<br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:<br>
<br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>