Redaktor:AbdullBot/template replace
Vzhľad
import java.util.LinkedHashMap; import jwikipediabot.JWikipediaBotException; import jwikipediabot.Log; import jwikipediabot.Sablona; import jwikipediabot.util; public class AbdullBot { private static Log log; public static void main(String args[]) { try { // vytvorenie log suboru log = new Log("C:\\Temp\\AbdullBot.log", Log.DEFAULT_DATETIME_FORMAT); log.writeln("=== START ==="); // vytvorenie bota jwikipediabot bot = jwikipediabot.connect("AbdullBot", "heslo"); log.writeln("Bot pripojeny na wiki."); // ktoré články upravovať String[] articles = { "Michail Alexandrovič Bakunin", "Johann Bernhard Basedow", "Pierre Bayle", "Simone de Beauvoir", "Max Bense", "Jeremy Bentham", "Henri Bergson", "George Berkeley", "Eduard Bernstein" }; vymenaSablon(bot, articles); log.writeln("=== END ==="); } catch (Exception e) { e.printStackTrace(); } log.close(); } private static void vymenaSablon(jwikipediabot bot, String[] articles) { String old_name = "Biografia"; String new_name = "Infobox Osobnosť"; // vzťah parametrov v starej a novej šablóne LinkedHashMap paramNames = new LinkedHashMap(); paramNames.put("názov", "Meno"); paramNames.put("meno_obrázku", "Portrét"); paramNames.put("popis_obrázku", "Popis"); paramNames.put("dátum_narodenia", "Dátum narodenia"); paramNames.put("miesto_narodenia", "Miesto narodenia"); paramNames.put("dátum_úmrtia", "Dátum úmrtia"); paramNames.put("miesto_úmrtia", "Miesto úmrtia"); log.writeln("Vymena sablon '" + old_name + "' -> '" + new_name + " (" + paramNames.size() + " clankov na upravu)."); for (int ii = 0; ii < articles.length; ii++) { try { // text článku String article_text = bot.readArticle(articles[ii]); // Nájdeme v článku šablónu Sablona sablFrom = Sablona.createFromArticle(article_text, old_name); if (!sablFrom.isFounded()) { log.writeln(" " + articles[ii] + " - Nema sablonu"); continue; } // Vytiahneme parametre z existujúcej šablóny a pretransformujeme ich na // parametre novej šablóny LinkedHashMap paramsTo = Sablona.simpleRenameParams(paramNames, sablFrom.getParams()); // Vytvoríme novú šablónu z parametrov Sablona sablTo = Sablona.createFromParams(new_name, paramsTo); // Nový text článku (výmena šablóny) article_text = article_text.substring(0, sablFrom.getPosStart()) + sablTo.toString() + article_text.substring(sablFrom.getPosEnd()); // Uloženie článku bot.writeArticle(articles[ii], article_text, "Výmena šablóny ('" + old_name + "' -> '" +new_name + "')", true); log.writeln(" " + articles[ii] + " - OK"); } catch (JWikipediaBotException e) { log.writeln(" " + articles[ii] + " - " + e.getMessage()); } } log.writeln("Koniec vymeny sablon"); } }