irssibot.modules
Class HTMLTools

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--irssibot.modules.AbstractModule
              |
              +--irssibot.modules.HTMLTools
All Implemented Interfaces:
java.lang.Runnable

public class HTMLTools
extends AbstractModule

This module has basic functionality for getting and parsing the content of pre-defined URL:s.

Version:
$Name$, $Revision$
Author:
Jussi Ropo
, Matti Dahlbom

Nested Class Summary
(package private)  class HTMLTools.WeatherItem
          class representing weather data fetched from tiehallinto...
 
Field Summary
private  ServerConnection caller
           
private  boolean changed
          Indicates whether the state of the module has changed.
private  Host host
           
private  java.util.HashMap languageKey
           
private static java.lang.String moduleInfo
           
private static java.lang.String PROPERTY_TINYURL_THRESHOLD
          Property name for tinyurlization threshold.
private  java.lang.String source
           
private  java.util.HashMap stockKey
           
private  int tinyurlThreshold
          Threshold value for tinyurlization as number of characters in an URL.
 
Fields inherited from class irssibot.modules.AbstractModule
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
HTMLTools()
          Default constructor
 
Method Summary
private  void commandEdit(Host host, User invoker, java.lang.String[] args, Channel channel)
          Processes edit-commands for this module.
private  void commandHex(Host host, User invoker, java.lang.String[] args, Channel channel)
          retrieves hex index
private  void commandList(Host host, User invoker, java.lang.String[] args, Channel channel)
          Processes list-commands for this module.
private  void commandListLang(Host host, User invoker, java.lang.String[] args, Channel channel)
          Lists possible translantion languages and commands
private  void commandListNameDay(Host host, User invoker, java.lang.String[] args, Channel channel)
          Lists possible nameday commands
private  void commandListSaa(Host host, User invoker, java.lang.String[] args, Channel channel)
          Displays list of possible weather information locations
private  void commandListStock(Host host, User invoker, java.lang.String[] args, Channel channel)
          Retrieves and parses stock exchange information
private  void commandListTv(Host host, User invoker, java.lang.String[] args, Channel channel)
          Lists possible tv commands
private  void commandNameDay(Host host, User invoker, java.lang.String[] args, Channel channel)
          retrieves namedays
private  void commandSaa(Host host, User invoker, java.lang.String[] args, Channel channel)
          Retrieves and parses weather information
private  void commandStock(Host host, User invoker, java.lang.String[] args, Channel channel)
          Retrieves and parses stock exchange information
private  void commandTempLimit(Host host, User invoker, java.lang.String[] args, Channel channel)
          Displays highest/lowest temperature and location
private  void commandTLD(Host host, User invoker, java.lang.String[] args, Channel channel)
          Displays list of possible weather information locations
private  void commandTv(Host host, User invoker, java.lang.String[] args, Channel channel)
          retrieves current tv-programs
private  void commandWordEnFi(Host host, User invoker, java.lang.String[] args, Channel channel)
          translates words from english->finnish->english
private  void commandWordEnToOther(Host host, User invoker, java.lang.String[] args, Channel channel)
          translates words from english->other language.
private  void doPrivmsg(IrcMessage message)
          Handles PRIVMSGs
private  void doTinyurl(Host host, Channel channel, java.lang.String msg)
          Fetches a tinyurl (tinyurl.com) version for a long http-URL.
private  java.util.Vector fetchWeather(java.lang.String arg, int count, boolean all)
           
 java.lang.String getModuleInfo()
          Returns a module info string
 java.util.Properties getState()
          Returns module properties.
private  java.net.URLConnection getUrlCon(java.lang.String address)
          creates URLConnection for specified url
 boolean onLoad(java.util.Properties state, Core core)
          Called upon loading the module.
private  void processCmdMsg(Host host, java.lang.String cmd, Channel channel, java.lang.String[] args)
          Process command message.
protected  void processMessage(IrcMessage message, ServerConnection serverConnection)
          Processes incoming IrcMessages from a ServerConnection
private  java.io.BufferedReader URLReader(java.lang.String address)
          creates BufferedReader for specified url
private  void write(java.lang.String message)
          Sends message to source (channel/user)
 
Methods inherited from class irssibot.modules.AbstractModule
addMessage, killModule, onUnload, run
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

moduleInfo

private static java.lang.String moduleInfo

PROPERTY_TINYURL_THRESHOLD

private static final java.lang.String PROPERTY_TINYURL_THRESHOLD
Property name for tinyurlization threshold.

See Also:
Constant Field Values

tinyurlThreshold

private int tinyurlThreshold
Threshold value for tinyurlization as number of characters in an URL.


host

private Host host

source

private java.lang.String source

caller

private ServerConnection caller

languageKey

private java.util.HashMap languageKey

stockKey

private java.util.HashMap stockKey

changed

private boolean changed
Indicates whether the state of the module has changed.

Constructor Detail

HTMLTools

public HTMLTools()
Default constructor

Method Detail

getState

public java.util.Properties getState()
Returns module properties.

Overrides:
getState in class AbstractModule
Returns:
state of module as a Properties object

onLoad

public boolean onLoad(java.util.Properties state,
                      Core core)
Called upon loading the module.

Overrides:
onLoad in class AbstractModule
Parameters:
state - the initial state of module as an Properties object, or null if no state was saved for module.
core - a Core instance. this can be used to initialize module if no state was retrieved.
Returns:
true if ok, false if error. modules returning false from onLoad() will be unloaded immediately.
See Also:
Core

getModuleInfo

public java.lang.String getModuleInfo()
Returns a module info string

Specified by:
getModuleInfo in class AbstractModule
Returns:
module info string

fetchWeather

private java.util.Vector fetchWeather(java.lang.String arg,
                                      int count,
                                      boolean all)
                               throws java.io.IOException,
                                      java.lang.ArrayIndexOutOfBoundsException
java.io.IOException
java.lang.ArrayIndexOutOfBoundsException

commandSaa

private void commandSaa(Host host,
                        User invoker,
                        java.lang.String[] args,
                        Channel channel)
Retrieves and parses weather information

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments, first argument determines location, second how many matches are printed (if 0, all)
channel - Channel where command takes place

commandTempLimit

private void commandTempLimit(Host host,
                              User invoker,
                              java.lang.String[] args,
                              Channel channel)
Displays highest/lowest temperature and location

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandStock

private void commandStock(Host host,
                          User invoker,
                          java.lang.String[] args,
                          Channel channel)
Retrieves and parses stock exchange information

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandListStock

private void commandListStock(Host host,
                              User invoker,
                              java.lang.String[] args,
                              Channel channel)
Retrieves and parses stock exchange information

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandTLD

private void commandTLD(Host host,
                        User invoker,
                        java.lang.String[] args,
                        Channel channel)
Displays list of possible weather information locations

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandListSaa

private void commandListSaa(Host host,
                            User invoker,
                            java.lang.String[] args,
                            Channel channel)
Displays list of possible weather information locations

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandListLang

private void commandListLang(Host host,
                             User invoker,
                             java.lang.String[] args,
                             Channel channel)
Lists possible translantion languages and commands

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

getUrlCon

private java.net.URLConnection getUrlCon(java.lang.String address)
creates URLConnection for specified url

Parameters:
address - url as a String, "http://777-team.org/index.html"

URLReader

private java.io.BufferedReader URLReader(java.lang.String address)
creates BufferedReader for specified url

Parameters:
address - url as a String, "http://777-team.org/index.html"

commandWordEnToOther

private void commandWordEnToOther(Host host,
                                  User invoker,
                                  java.lang.String[] args,
                                  Channel channel)
translates words from english->other language. possible languages are listed in HashMap languageKey

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandWordEnFi

private void commandWordEnFi(Host host,
                             User invoker,
                             java.lang.String[] args,
                             Channel channel)
translates words from english->finnish->english

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandHex

private void commandHex(Host host,
                        User invoker,
                        java.lang.String[] args,
                        Channel channel)
retrieves hex index

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandNameDay

private void commandNameDay(Host host,
                            User invoker,
                            java.lang.String[] args,
                            Channel channel)
retrieves namedays

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandTv

private void commandTv(Host host,
                       User invoker,
                       java.lang.String[] args,
                       Channel channel)
retrieves current tv-programs

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandListTv

private void commandListTv(Host host,
                           User invoker,
                           java.lang.String[] args,
                           Channel channel)
Lists possible tv commands

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandListNameDay

private void commandListNameDay(Host host,
                                User invoker,
                                java.lang.String[] args,
                                Channel channel)
Lists possible nameday commands

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandList

private void commandList(Host host,
                         User invoker,
                         java.lang.String[] args,
                         Channel channel)
Processes list-commands for this module.

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

commandEdit

private void commandEdit(Host host,
                         User invoker,
                         java.lang.String[] args,
                         Channel channel)
Processes edit-commands for this module.

Parameters:
host - Host of invoker
invoker - User object of invoker
args - command arguments
channel - Channel where command takes place

processCmdMsg

private void processCmdMsg(Host host,
                           java.lang.String cmd,
                           Channel channel,
                           java.lang.String[] args)
Process command message. assuming valid channel argument.

Parameters:
channel - valid channel name

doTinyurl

private void doTinyurl(Host host,
                       Channel channel,
                       java.lang.String msg)
Fetches a tinyurl (tinyurl.com) version for a long http-URL.


processMessage

protected void processMessage(IrcMessage message,
                              ServerConnection serverConnection)
Processes incoming IrcMessages from a ServerConnection

Specified by:
processMessage in class AbstractModule
Parameters:
message - IrcMessage to process
serverConnection - invoking ServerConnection

write

private void write(java.lang.String message)
Sends message to source (channel/user)

Parameters:
message - message to send

doPrivmsg

private void doPrivmsg(IrcMessage message)
Handles PRIVMSGs

Parameters:
message - PRIVMSG IrcMessage to process


IrssiBot (c) 2000-2002 Matti Dahlbom