package iucn;
public class ThreatenedSpecies {
public ThreatenedSpecies(String stTitleName, String stOtherName,
String stRegne, String stAvancement) {
super();
this.stTitleName = stTitleName;
this.stOtherName = stOtherName;
this.stRegne = stRegne;
this.stAvancement = stAvancement;
}
public String stTitleName;
public String stOtherName;
public String stRegne;
public String stAvancement;
public String getStTitleName() {
return stTitleName;
}
public void setStTitleName(String stTitleName) {
this.stTitleName = stTitleName;
}
public String getStOtherName() {
return stOtherName;
}
public void setStOtherName(String stOtherName) {
this.stOtherName = stOtherName;
}
public String getStRegne() {
return stRegne;
}
public void setStRegne(String stRegne) {
this.stRegne = stRegne;
}
public String getStAvancement() {
return stAvancement;
}
public void setStAvancement(String stAvancement) {
this.stAvancement = stAvancement;
}
}
package iucn;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.Map.Entry;
import net.sourceforge.jwbf.core.actions.util.ActionException;
import net.sourceforge.jwbf.core.actions.util.ProcessException;
import net.sourceforge.jwbf.core.contentRep.Article;
import net.sourceforge.jwbf.core.contentRep.SimpleArticle;
import net.sourceforge.jwbf.mediawiki.actions.MediaWiki;
import net.sourceforge.jwbf.mediawiki.actions.queries.CategoryMembersSimple;
import net.sourceforge.jwbf.mediawiki.bots.MediaWikiBot;
public class Test {
public static void main(String [] args) {
MediaWikiBot bot;
//MediaWikiBot bot2;
try {
bot = new MediaWikiBot("http://fr.wikipedia.org/w/");
try {
bot.login("bot", "***");
try {
Article rc=bot.readContent("Projet:100 espèces les plus menacées/Liste");
String strTemp = rc.getText();
String strNameTemp;
strTemp=strTemp.replace("{{/entête liste}}","" );
strTemp=strTemp.replace("== 100 espèces les plus menacées ==","" );
String delimiter="\\{\\{/espèce menacée";
String pipeDelimiter="\\|";
String[] tabStringLine = strTemp.split(delimiter);
Map<String, ThreatenedSpecies> map = new TreeMap<String, ThreatenedSpecies>();
for(int i =1; i < tabStringLine.length ; i++)
{
String[] tabParameters= tabStringLine[i].split(pipeDelimiter);
map.put(tabParameters[1], new ThreatenedSpecies(tabParameters[1],tabParameters[2], tabParameters[3] , tabParameters[4].replace("}}\n", "")));
}
CategoryMembersSimple cmsSubcategories = new CategoryMembersSimple(bot, "Article 100 espèces les plus menacées d'avancement B", MediaWiki.NS_MAIN_TALK);
Iterator<String> iteratorArticles=cmsSubcategories.iterator();
while(iteratorArticles.hasNext())
{
strNameTemp=iteratorArticles.next().replaceAll("Discussion:", "");
System.out.println(strNameTemp);
if(map.get(strNameTemp)!=null)
{
map.get(strNameTemp).setStAvancement("B");
}
}
CategoryMembersSimple cmsSubcategories2 = new CategoryMembersSimple(bot, "Article 100 espèces les plus menacées d'avancement BD", MediaWiki.NS_MAIN_TALK);
Iterator<String> iteratorArticles2=cmsSubcategories2.iterator();
while(iteratorArticles2.hasNext())
{
strNameTemp=iteratorArticles2.next().replaceAll("Discussion:", "");
System.out.println(strNameTemp);
if(map.get(strNameTemp)!=null)
{
map.get(strNameTemp).setStAvancement("BD");
}
}
CategoryMembersSimple cmsSubcategories3 = new CategoryMembersSimple(bot, "Article 100 espèces les plus menacées d'avancement ébauche", MediaWiki.NS_MAIN_TALK);
Iterator<String> iteratorArticles3=cmsSubcategories3.iterator();
while(iteratorArticles3.hasNext())
{
strNameTemp=iteratorArticles3.next().replaceAll("Discussion:", "");
System.out.println(strNameTemp);
if(map.get(strNameTemp)!=null)
{
map.get(strNameTemp).setStAvancement("ébauche");
}
}
Iterator<Entry<String, ThreatenedSpecies>> iter=map.entrySet().iterator();
String sb = new String();
sb="== 100 espèces les plus menacées ==\n{{/entête liste}}\n";
while (iter.hasNext())
{
Entry<String, ThreatenedSpecies> entry = iter.next();
sb=sb+"{{/espèce menacée|"+entry.getKey()+"|"+entry.getValue().getStOtherName()+"|"+entry.getValue().getStRegne()+"|"+entry.getValue().getStAvancement();
sb=sb+"|}}\n";
}
sb=sb+"\n|}";
SimpleArticle wc=bot.readData("Projet:100 espèces les plus menacées/Liste");
wc.setText(sb);
wc.setEditSummary("mise à jour en utilisant [[Wikipédia:JWBF|JWBF]]");
bot.writeContent(wc);
System.out.println(sb);
} catch (ProcessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (ActionException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}