ChatReader.javaThis Java application shows the output of a "chat room", using
the Python script chat.py.
Run this Java application in a console window, then use profile.py
to update the list of comments.
01: import java.net.*;
02: import java.io.*;
03: import java.awt.event.ActionEvent;
04: import java.awt.event.ActionListener;
05: import javax.swing.Timer;
06:
07: public class ChatReader {
08: private Timer myTimer;
09: String since;
10: public void start() {
11: myTimer = new Timer(2000,new TimerHandler() );
12: since = showChat(null);
13: myTimer.start();
14: }
15: private class TimerHandler implements ActionListener
16: {
17: public void actionPerformed(ActionEvent actionevent)
18: {
19: //System.out.println("timer triggered");
20: String result = showChat(since);
21: if (result!=null) since = result;
22: }
23: }
24: public static String showChat(String since) {
25: URL url;
26: String name;
27: int n, nlines;
28: name = "https://johnloomis.org/python/db/chat.py";
29: try {
30: if (since !=null) name = name + "?since=" + URLEncoder.encode(since,"UTF-8");
31: }
32: catch(UnsupportedEncodingException e) {
33: System.out.println(e);
34: }
35: char quote = '"';
36:
37: String inp, modified, nickname, comment;
38: modified = null;
39: try {
40: url = new URL(name);
41: BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
42: boolean done = false;
43: while (!done) {
44: inp = in.readLine();
45: if (inp==null) break;
46: modified = inp.substring(1,20);
47: inp = inp.substring(21);
48: int n1, n2;
49: n1 = inp.indexOf(quote);
50: n2 = inp.substring(n1+1).indexOf(quote);
51: nickname = inp.substring(n1+1,n1+n2+1);
52: inp = inp.substring(n1+n2+2);
53: n1 = inp.indexOf(quote);
54: n2 = inp.substring(n1+1).indexOf(quote);
55: comment = inp.substring(n1+1,n1+n2+1);
56: /*
57: if (n1>=0) {
58: n2 = inp.substring(n1).indexOf(quote);
59: if (n2>=0) nickname = inp.substring(n1,n2);
60: else nickname = "";
61: }
62: else nickname = "";
63: if (n2>0) inp = inp.substring(n2);
64: */
65: System.out.printf("%s [%8s] %s\n",modified,nickname,comment);
66: }
67: in.close();
68: }
69: catch (MalformedURLException e) {
70: System.out.println(e);
71: }
72: catch (IOException e) {
73: System.out.println(e);
74: }
75: return modified;
76: }
77: public static void main(String[] args) {
78: ChatReader chat = new ChatReader();
79: chat.since = "2008-03-03 15:02:08";
80: chat.start();
81: while (true);
82: }
83: }
Maintained by John Loomis, updated Tue Mar 04 23:01:13 2008