| author | Raphael Velt <raph.velt@gmail.com> |
| Mon, 24 Oct 2011 18:01:55 +0200 | |
| changeset 331 | 03c69425efa6 |
| parent 326 | c28048fb63b4 |
| permissions | -rw-r--r-- |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
1 |
/* CONFIGURATION */ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
2 |
|
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
3 |
RECORD_NEW_TWEETS = true; |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
4 |
DEFAULT_SIO_PORT = 8000; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
5 |
/* Overriden par the "-p" parameter, e.g. node tweetcast.js -p 8080 */ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
6 |
SQLITE_FILE_DIR = './'; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
7 |
SQLITE_FILE_START = 'tweets-'; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
8 |
SQLITE_FILE_EXT = '.sqlite'; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
9 |
DEFAULT_TRACKING_KEYWORD = 'Bieber'; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
10 |
/* Overriden par the "-T" parameter, e.g. node tweetcast.js -T "Bieber" */ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
11 |
TWITTER_USER = 'materiauxnum'; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
12 |
TWITTER_PASS = 'm473r14ux7w337'; |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
13 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
14 |
/* FUNCTIONS */ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
15 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
16 |
function createTables() { |
| 314 | 17 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
18 |
var requete = "CREATE TABLE IF NOT EXISTS tweets ( pos INTEGER PRIMARY KEY, tweet_id TEXT UNIQUE, created_at INTEGER, json TEXT" + annotations.map(function(a) { return ', a_' + a + ' INTEGER' }).join("") + " )"; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
19 |
db.execute(requete, function(err) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
20 |
if (err) throw err; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
21 |
db.execute("CREATE INDEX IF NOT EXISTS idx_created_at ON tweets ( created_at )", function(err) { if (err) throw err; }); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
22 |
getSendLastPos(); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
23 |
}); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
24 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
25 |
db.execute("CREATE TABLE IF NOT EXISTS tweet_refs ( id INTEGER PRIMARY KEY, from_id TEXT, to_id TEXT, ref_type TEXT )", function(err) { if (err) throw err; }); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
26 |
} |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
27 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
28 |
function commitReference(from_id, to_id, ref_type) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
29 |
db.execute( |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
30 |
"INSERT INTO tweet_refs ( from_id, to_id, ref_type ) VALUES ( ?, ?, ? )", |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
31 |
[ from_id, to_id, ref_type ], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
32 |
function(err) { if (err) throw err; } |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
33 |
); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
34 |
} |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
35 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
36 |
function commitTweet(data) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
37 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
38 |
var tweet = JSON.parse(data), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
39 |
ann = []; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
40 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
41 |
textids(tweet); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
42 |
for (var j in keys_to_delete) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
43 |
delete tweet[keys_to_delete[j]]; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
44 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
45 |
textids(tweet.user); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
46 |
for (var j in user_keys_to_delete) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
47 |
delete tweet.user[user_keys_to_delete[j]]; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
48 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
49 |
if (tweet.retweeted_status) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
50 |
textids(tweet.retweeted_status); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
51 |
for (var j in keys_to_delete) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
52 |
delete tweet.retweeted_status[keys_to_delete[j]]; |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
53 |
} |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
54 |
} |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
55 |
for (var i in annotations_keywords) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
56 |
for (var j in annotations_keywords[i]) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
57 |
if (tweet.text.indexOf(annotations_keywords[i][j]) != -1) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
58 |
ann.push(annotations[i]); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
59 |
break; |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
60 |
} |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
61 |
} |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
62 |
} |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
63 |
tweet.annotations = ann; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
64 |
tweet.created_at = new Date(tweet.created_at); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
65 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
66 |
if (tweet.in_reply_to_status_id) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
67 |
commitReference( tweet.id, tweet.in_reply_to_status_id, "reply" ); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
68 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
69 |
if (tweet.retweeted_status) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
70 |
commitReference( tweet.id, tweet.retweeted_status.id, "retweet" ); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
71 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
72 |
db.execute( |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
73 |
"INSERT INTO tweets ( tweet_id, created_at, json " |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
74 |
+ annotations.map(function(a) { return ', a_' + a }).join("") |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
75 |
+ " ) VALUES ( ?, ?, ? " |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
76 |
+ annotations.map(function(a) { return ', ?' }).join("") |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
77 |
+ " )", |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
78 |
[ tweet.id, tweet.created_at.valueOf(), JSON.stringify(tweet) ].concat(annotations.map(function(a) { return ann.indexOf(a) == -1 ? 0 : 1 })), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
79 |
function(err) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
80 |
if (err) throw err; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
81 |
getSendLastPos(); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
82 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
83 |
); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
84 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
85 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
86 |
function callBackNewTweets(chunk) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
87 |
var newdata = chunk.split('\r\n'); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
88 |
for (var i in newdata) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
89 |
if (newdata[i].length > 0) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
90 |
commitTweet(newdata[i]); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
91 |
} |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
92 |
} |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
93 |
console.log("New tweets received"); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
94 |
} |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
95 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
96 |
function getSendLastPos() { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
97 |
db.execute("SELECT MAX(pos) lastpos FROM tweets", function (err, results) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
98 |
if (err) throw err; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
99 |
lastpos = results[0].lastpos ? results[0].lastpos : 0; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
100 |
console.log("Broadcasting last pos = ",lastpos); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
101 |
io.sockets.emit('tweetSummary', { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
102 |
tweetcount : lastpos |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
103 |
}); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
104 |
}); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
105 |
} |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
106 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
107 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
108 |
function getSendTweets(posList, socket) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
109 |
console.log("request for tweets ("+posList.join(',')+") from "+socket.id); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
110 |
db.execute("SELECT * FROM tweets WHERE pos IN ( " + posList.join(',') + " )", function (err, results) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
111 |
if (err) throw err; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
112 |
socket.emit('tweets', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
113 |
results.map(function(line) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
114 |
var tw = JSON.parse(line.json); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
115 |
tw.pos = line.pos; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
116 |
return tw; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
117 |
}) |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
118 |
); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
119 |
}); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
120 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
121 |
|
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
122 |
function getSendTimeline(level, socket) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
123 |
console.log("request for timeline ("+level+") from "+socket.id); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
124 |
var lvl = date_levels[level], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
125 |
requete = "SELECT COUNT(*) AS nb, " |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
126 |
+ lvl |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
127 |
+ "*ROUND(created_at/" |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
128 |
+ lvl |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
129 |
+ ") AS tranche" |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
130 |
+ annotations.map(function (a) { return " , SUM(a_" + a + ") AS s_" + a }).join("") |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
131 |
+ " FROM tweets GROUP BY tranche ORDER BY tranche DESC LIMIT 0,50"; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
132 |
db.execute(requete, function (err, results) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
133 |
if (err) throw err; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
134 |
var tbl = [], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
135 |
lastend = parseInt(results[results.length - 1].tranche); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
136 |
for (var i = results.length - 1; i >= 0; i--) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
137 |
var start = parseInt(results[i].tranche); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
138 |
while (start > lastend) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
139 |
var struct = { "start": lastend, "tweets" : 0, "annotations" : {} }; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
140 |
lastend += lvl; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
141 |
struct.end = lastend; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
142 |
tbl.push(struct); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
143 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
144 |
lastend += lvl; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
145 |
var struct = { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
146 |
"start" : start, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
147 |
"end" : lastend, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
148 |
"tweets" : results[i].nb, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
149 |
"annotations" : {} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
150 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
151 |
for (var j in annotations) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
152 |
struct.annotations[annotations[j]] = results[i]['s_' + annotations[j]]; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
153 |
} |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
154 |
tbl.push(struct); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
155 |
} |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
156 |
socket.emit('timeline', tbl); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
157 |
}); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
158 |
} |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
159 |
|
| 314 | 160 |
function textids(object) { |
161 |
for (var key in object) { |
|
162 |
if (key.substr(-2) == 'id') { |
|
163 |
object[key] = object[key + '_str']; |
|
164 |
delete object[key + '_str']; |
|
165 |
} |
|
166 |
} |
|
167 |
} |
|
168 |
||
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
169 |
/* Initialization */ |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
170 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
171 |
var fs = require('fs'), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
172 |
https = require('https'), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
173 |
sqlite = require('sqlite'), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
174 |
socketio = require('socket.io'), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
175 |
tweets = [], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
176 |
lastpos = 0, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
177 |
arcs = [], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
178 |
tweet_ids = [], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
179 |
date_struct = [], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
180 |
date_levels = [ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
181 |
3600 * 1000, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
182 |
15 * 60 * 1000, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
183 |
5 * 60 * 1000, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
184 |
60 * 1000, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
185 |
15 * 1000 |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
186 |
], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
187 |
annotations = [ 'positive', 'negative', 'reference', 'question' ], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
188 |
annotations_keywords = [ [ '++' ], [ '--' ], [ '==' ], [ '??' ] ], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
189 |
annkw = { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
190 |
'positive' : '++', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
191 |
'negative' : '--', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
192 |
'reference' : '==', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
193 |
'question' : '??' |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
194 |
}, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
195 |
keys_to_delete = [ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
196 |
'in_reply_to_screen_name', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
197 |
'in_reply_to_user_id', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
198 |
'retweeted', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
199 |
'place', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
200 |
'geo', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
201 |
'source', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
202 |
'contributors', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
203 |
'coordinates', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
204 |
'retweet_count', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
205 |
'favorited', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
206 |
'truncated', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
207 |
'possibly_sensitive' |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
208 |
], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
209 |
user_keys_to_delete = [ |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
210 |
'default_profile_image', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
211 |
'show_all_inline_media', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
212 |
'contributors_enabled', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
213 |
'profile_sidebar_fill_color', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
214 |
'created_at', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
215 |
'lang', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
216 |
'time_zone', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
217 |
'profile_sidebar_border_color', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
218 |
'follow_request_sent', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
219 |
'profile_background_image_url', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
220 |
'profile_background_image_url_https', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
221 |
'followers_count', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
222 |
'description', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
223 |
'url', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
224 |
'geo_enabled', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
225 |
'profile_use_background_image', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
226 |
'default_profile', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
227 |
'following', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
228 |
'profile_text_color', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
229 |
'is_translator', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
230 |
'favourites_count', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
231 |
'listed_count', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
232 |
'friends_count', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
233 |
'profile_link_color', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
234 |
'protected', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
235 |
'location', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
236 |
'notifications', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
237 |
'profile_image_url_https', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
238 |
'statuses_count', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
239 |
'verified', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
240 |
'profile_background_color', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
241 |
'profile_background_tile', |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
242 |
'utc_offset' |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
243 |
], |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
244 |
port_flag = process.argv.indexOf("-p"), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
245 |
sio_port = ( port_flag != -1 && port_flag < process.argv.length - 1 && parseInt(process.argv[port_flag + 1]) ? parseInt(process.argv[port_flag + 1]) : DEFAULT_SIO_PORT ) |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
246 |
io = socketio.listen(sio_port), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
247 |
track_flag = process.argv.indexOf("-T"), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
248 |
tracking_keyword = ( track_flag != -1 && track_flag < process.argv.length - 1 ? process.argv[track_flag + 1] : DEFAULT_TRACKING_KEYWORD ), |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
249 |
sqlfile = SQLITE_FILE_DIR + SQLITE_FILE_START + encodeURIComponent(tracking_keyword) + SQLITE_FILE_EXT, |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
250 |
db = new sqlite.Database(); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
251 |
|
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
252 |
/* MAIN CODE */ |
|
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
253 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
254 |
console.log("Listening on port: "+sio_port); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
255 |
console.log("Opening SQLITE file: "+sqlfile); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
256 |
db.open(sqlfile , function(err) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
257 |
if (err) throw err; |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
258 |
createTables(); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
259 |
}); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
260 |
|
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
261 |
if (RECORD_NEW_TWEETS) { |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
262 |
console.log("Requesting Twitter to track keyword(s): "+tracking_keyword); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
263 |
var req = https.request({ |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
264 |
host: "stream.twitter.com", |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
265 |
path: "/1/statuses/filter.json", |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
266 |
method: "POST", |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
267 |
headers: { |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
268 |
'Authorization': 'Basic ' + new Buffer( TWITTER_USER + ":" + TWITTER_PASS ).toString('base64'), |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
269 |
'Content-Type': 'application/x-www-form-urlencoded' |
| 314 | 270 |
} |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
271 |
}, function(res) { |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
272 |
console.log('Reply from stream.twitter.com: ' + res.statusCode); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
273 |
console.log('Headers: ' + JSON.stringify(res.headers)); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
274 |
res.setEncoding('utf8'); |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
275 |
res.on('data', callBackNewTweets); |
| 314 | 276 |
}); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
277 |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
278 |
req.write('track=' + encodeURIComponent(tracking_keyword)); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
279 |
req.end(); |
|
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
280 |
} |
| 314 | 281 |
|
282 |
io.set('log level', 0); |
|
283 |
io.sockets.on('connection', function(socket) { |
|
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
284 |
console.log("New connection from" + socket.handshake.address.address + " with id=" + socket.id); |
|
325
7d9c576bfaac
Some changes - added multi-zoom level on client
Raphael Velt <raph.velt@gmail.com>
parents:
314
diff
changeset
|
285 |
socket.emit('tweetSummary', { tweetcount : tweets.length }); |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
286 |
socket.on('updateTweets', function(data) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
287 |
if (data.tweets.length) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
288 |
getSendTweets(data.tweets, socket); |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
289 |
} |
|
326
c28048fb63b4
Added visual timeline feature to node client
Raphael Velt <raph.velt@gmail.com>
parents:
325
diff
changeset
|
290 |
}); |
|
331
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
291 |
socket.on('updateTimeline', function(data) { |
|
03c69425efa6
Added SQLite Database in Node Server
Raphael Velt <raph.velt@gmail.com>
parents:
326
diff
changeset
|
292 |
getSendTimeline(data.level, socket); |
| 314 | 293 |
}); |
294 |
}); |