/* This file is part of DrFTPD, Distributed FTP Daemon. * * Auteur : k2r * Email : k2r.contact@gmail.com * */ package net.k2rmods.plugins.irc.imdb; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sf.drftpd.FileExistsException; import net.sf.drftpd.event.Event; import net.sf.drftpd.util.ReplacerUtils; import org.apache.log4j.Logger; import org.drftpd.plugins.SiteBot; import org.drftpd.remotefile.LinkedRemoteFile; import org.drftpd.remotefile.LinkedRemoteFileInterface; import org.tanesha.replacer.ReplacerEnvironment; public class INFOParsing extends Thread { private static final Logger logger = Logger.getLogger(INFOParsing.class); private String _INFOurl; private LinkedRemoteFileInterface _link; private SiteBot _irc; private String _channel; private String _title = "N/A"; private String _director = "N/A"; private String _genre = "N/A"; private String _plot = "N/A"; private String _votes = "N/A"; private String _rating = "N/A"; private String _year = "N/A"; private String _url = "N/A"; public INFOParsing(LinkedRemoteFile link, NFOFile nfo, SiteBot bot, String channel) { _link = link; _irc = bot; _INFOurl = nfo.getURL(); _channel = channel; } public void run() { boolean isFind = false; if (_INFOurl != null && _INFOurl.indexOf("imdb") != -1) { getInfoIMDB(_INFOurl); isFind = true; } if (isFind == false) getInfoSIMPLE(_INFOurl); } public String getGenre() { return _genre; } public String getPlot() { return _plot; } public String getRating() { return _rating; } public String getTitle() { return _title; } public String getVotes() { return _votes; } public String getYear() { return _year; } public String getURL() { return _url; } public String getDirector() { return _director; } private void getInfoIMDB(String urlString) { try { URL url = new URL(urlString); URLConnection urlConn = url.openConnection(); if (!(urlConn.getContent() instanceof InputStream)) return; String data = ""; BufferedReader in = null; String line; try { in = new BufferedReader(new InputStreamReader(urlConn.getInputStream())); while ((line = in.readLine()) != null) data = data + line + "\n"; } finally { in.close(); } _url = urlString; _director = parseData(data, ">Directed by", ""); _title = parseData(data, "