<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Il giorno 27 settembre 2013 23:23, marco bra <span dir="ltr"><<a href="mailto:marcobra.ubuntu@gmail.com" target="_blank">marcobra.ubuntu@gmail.com</a>></span> ha scritto:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Groppo, non ho usato il tuo script, ma l'ho provato ed e' potente,<br>
sarebbero da discriminare alcune liste di parole...  che non vanno<br>
maiuscole... "di", "del" etc.<br></blockquote><div><br></div><div>Sì, il mio era un esempio per far vedere cosa si può fare.<br>Lo si può modificare/migliorare in base alle proprie esigenze.<br><br>
</div><div>Ad esempio, con le modifiche qui sotto (vedi "### aggiunta"), tiene conto di alcune preposizioni ed alla fine stampa sul terminale la lista dei nomi e le loro conversioni.<br></div><div><br><br>#codice script<br>


"""<br>Capitalize words of "name=*" tags in JOSM<br>"""<br><br>import sys<br>from javax.swing import JOptionPane<br>from org.openstreetmap.josm import Main<br><br>def getMapView():<br>


    if Main.main and Main.main.map:<br>        return Main.main.map.mapView<br>    else:<br>        JOptionPane.showMessageDialog(Main.parent, "Apri dei dati, prima di eseguire lo script.")<br>        sys.exit(1)<br>


<br>#### aggiunta<br>prepositions = [" di ", " del ", " della ", " delle "]<br><br>mv = getMapView()<br>if mv and mv.editLayer and mv.editLayer.data:<br>    dataset = mv.editLayer.data<br>


    elements = []<br>    elements.extend(dataset.nodes)<br>    elements.extend(dataset.ways)<br>    elements.extend(dataset.relations)<br>    <br>    #For each OSM object in the dataset<br>    for element in elements:<br>


        tags = element.getKeys()<br>        if len(tags) != 0:<br>            if "name" in tags:<br>                #capitalize words of "name" value<br>                oldName = element.get("name")<br>


                newName = oldName.title()<br>                <br>                #### aggiunta<br>                for prep in prepositions:<br>                    newName = newName.replace(prep.title(), prep.lower())<br>

                tags["name"] = newName<br>
                <br>                #Print names to terminal<br>                print "%s ---> %s" % (oldName, newName)<br>                #Update element tags<br>                element.setKeys(tags)<br><br>


JOptionPane.showMessageDialog(Main.parent, "Done.")<br><br></div></div></div></div>