All pastes #577043 Raw Edit

Stuff

public text v1 · immutable
·published 2007-06-19 19:15 UTC
rendered paste body
private void lookupWord(String word, String channel, String nick)
{
    try
    {
        WebRequest request = new GetMethodWebRequest("http://en.wikipedia.org/wiki/Special:Search?search=" + word + "&go=Go");
        WebResponse resultPage;
        synchronized (this.wc)
        {
            resultPage = this.wc.getResponse(request);
        }
        String url = resultPage.getURL().toString();
        TextBlock[] blocks = resultPage.getTextBlocks();
        for (TextBlock textBlock : blocks)
        {

            Pattern p = Pattern.compile("^(.{100,}?)\\.($| [A-Z])");
            Matcher m = p.matcher(textBlock.getText());
            if (m.find())
            {
                if (m.group(1).contains("No page with that title exists"))
                {
                    break;
                }
                if (m.group(1).contains("You can create this article or request it"))
                {
                    break;
                }
                if (m.group(1).contains("Please wikify (format) this article"))
                {
                    break;
                }

                String desc = m.group(1);
                desc = desc.replaceAll("\\s*\\(.+?\\)", "");

                sendMessage(channel, nick + ", " + trimText(desc, 450 - 6 - url.length() - nick.length() - 2) + ". [ " + url + " ]");
                return;
            }
        }
    }
    catch (Exception e)
    {
        sendNotice(nick, "Problem while filling request: " + e.getMessage());
    }
    sendMessage(channel, nick + ", I couldn't find a wikipedia entry. Try being more specific.");
}