package mediawiki.request;
import java.net.URL;
import javat.xml.Document;
import mediawiki.MediaWikiConnection;
import mediawiki.MediaWikiPostRequest;
import mediawiki.MediaWikiRequest;
public class FileURLRequest extends MediaWikiRequest<URL> {
private String urlType = "url";
public FileURLRequest(String name, int width) {
setProperty("titles", name);
setProperty("iiurlwidth",width);
setURLType("thumburl");
}
public FileURLRequest(String name) {
setProperty("titles", name);
setURLType("url");
}
@Override
public URL request(MediaWikiConnection c) throws Exception {
MediaWikiPostRequest p = new MediaWikiPostRequest(c);
p.putData(getProperties());
p.putData("action", "query");
p.putData("prop", "imageinfo");
p.putData("iiprop", "url");
Document d = p.requestDocument();
return new URL(d.getRootElement().getChildren("query").get(0).getChildren("pages").get(0).getChildren("page").get(0).getChildren("imageinfo").get(0).getChildren("ii").get(0).getAttribute(getURLType()).getValue());
}
public String getURLType() {
return urlType;
}
public void setURLType(String urlType) {
this.urlType = urlType;
}
}