Changeset 29033 in osm for applications


Ignore:
Timestamp:
2012-12-04T21:48:34+01:00 (12 years ago)
Author:
simon04
Message:

JOSM/wikipedia: add (i18n) names from Wikipedia

Location:
applications/editors/josm/plugins/wikipedia/src/org/wikipedia
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java

    r28987 r29033  
    159159    }
    160160
     161    static Collection<WikipediaLangArticle> getInterwikiArticles(String wikipediaLang, String article) {
     162        try {
     163            Collection<WikipediaLangArticle> r = new ArrayList<WikipediaLangArticle>();
     164            final String url = "http://" + wikipediaLang + ".wikipedia.org/w/api.php" +
     165                    "?action=query" +
     166                    "&prop=langlinks" +
     167                    "&titles=" + article +
     168                    "&lllimit=500" +
     169                    "&format=xml";
     170            System.out.println("Wikipedia: GET " + url);
     171            final Document xml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new URL(url).openStream());
     172            final NodeList nodes = (NodeList) XPathFactory.newInstance().newXPath().compile("//ll").evaluate(xml, XPathConstants.NODESET);
     173            for (int i = 0; i < nodes.getLength(); i++) {
     174                final String lang = nodes.item(i).getAttributes().getNamedItem("lang").getTextContent();
     175                final String name = nodes.item(i).getTextContent();
     176                r.add(new WikipediaLangArticle(lang, name));
     177            }
     178            return r;
     179        } catch (Exception ex) {
     180            throw new RuntimeException(ex);
     181        }
     182    }
     183
    161184    static class WikipediaLangArticle {
    162185
  • applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaPlugin.java

    r28247 r29033  
    22package org.wikipedia;
    33
     4import org.openstreetmap.josm.Main;
     5import org.openstreetmap.josm.gui.MainMenu;
    46import org.openstreetmap.josm.gui.MapFrame;
    57import org.openstreetmap.josm.plugins.Plugin;
     
    1113        super(info);
    1214        new WikipediaCopyTemplate();
     15        MainMenu.add(Main.main.menu.toolsMenu, new WikipediaAddNamesAction());
    1316    }
    1417
Note: See TracChangeset for help on using the changeset viewer.