Skip to content
This repository was archived by the owner on Jul 6, 2022. It is now read-only.

Commit da1679a

Browse files
committed
Some windows changes.
1 parent deb2a95 commit da1679a

4 files changed

Lines changed: 74 additions & 45 deletions

File tree

app/js/client/Data.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
var path = require('path')
1+
var path = require('path');
22

33
var Data = {
44
config: {
5-
domain: 'https://standing-fleet.herokuapp.com/',
5+
domain: 'http://standing-fleet.goonswarm.org/',
66
apiUrl: '/api/fleet',
77
alertStay: 5000,
88
maxEvents: 20,
@@ -23,10 +23,9 @@ var Data = {
2323
local: null,
2424
logs: {
2525
handles: [],
26-
path: {
26+
path: {
2727
win: path.join(process.env['USERPROFILE'] || '','Documents','EVE','logs','Chatlogs'),
2828
darwin: path.join(process.env['HOME'] || '','Library','Application Support','EVE Online','p_drive','User','My Documents','EVE','logs','Chatlogs')
29-
3029
},
3130
channels: {
3231
"DEK.CFC": true,
@@ -73,7 +72,7 @@ var Data = {
7372
clipboard_list: $('#clipboard > .list'),
7473
logs: $('#logs'),
7574
logs_list: $('#logs > .list')
76-
}
75+
};
7776
},
7877

7978
build_templates: function() {
@@ -82,6 +81,6 @@ var Data = {
8281
event: Templates.event,
8382
report: Templates.report,
8483
panel: Templates.panel
85-
}
86-
},
84+
};
85+
}
8786
};

app/js/client/Main.js

Lines changed: 65 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ var gui = require('nw.gui')
99
, https = require('https')
1010
, request = require('request')
1111
, _ = require('lodash')
12-
12+
, encoding = require('encoding')
13+
1314
window.onload = function () {
1415
initializeClient();
1516
};
@@ -38,7 +39,7 @@ function initializeClient() {
3839
log('Begin Polling...');
3940
pollClipboard();
4041
pollLogs();
41-
42+
4243
gui.Window.get().show();
4344
};
4445

@@ -52,7 +53,7 @@ function pollClipboard() {
5253
var clipboard = document.getElementById('clipboard')
5354
var event = {time: Util.getTime(), type: 'sourcedClipboard', data: text};
5455
cb.clear();
55-
56+
5657
var renderedEvent = $(Templates.event({time: event.time, text: event.data}));
5758
Data.ui.clipboard_list.prepend(renderedEvent);
5859
Data.state.datasources.local.getClient().publish('/events', event);
@@ -67,47 +68,63 @@ function pollClipboard() {
6768

6869
function pollLogs() {
6970
if (!Data.state.poll.logs) return;
70-
71+
7172
var log_dir = (/^win/.test(process.platform)) ? Data.state.datasources.logs.path.win : Data.state.datasources.logs.path.darwin;
7273
var channels = [];
73-
74+
7475
for (channel in Data.state.datasources.logs.channels) {
75-
if (Data.state.datasources.logs.channels[channel]) channels.push(channel)
76+
if (Data.state.datasources.logs.channels[channel]) channels.push(channel);
7677
}
77-
78+
7879
if (!channels.length) {
79-
log('No logs to parse')
80+
log('No logs to parse');
81+
var renderedEvent = $(Templates.event({'time': Util.getTime(), type: 'error', text: 'No logs to parse. Have you joined an intel channel today?' }));
82+
Data.ui.logs_list.prepend(renderedEvent);
8083
return;
8184
}
82-
85+
8386
var filename_match = '(' + channels.join('|') + ')_';
8487
// filename_match += moment().format('YYYYMMDD');
8588
filename_match += '20130627';
8689
filename_match += '_\\d+.txt';
8790

8891
fs.readdir(log_dir, function(err, list) {
89-
if(err) throw err;
92+
if (err) {
93+
var renderedEvent = $(Templates.event({'time': Util.getTime(), type: 'error', text: 'Unable to poll logs: ' + err }));
94+
Data.ui.logs_list.prepend(renderedEvent);
95+
return;
96+
}
97+
9098
var regex = new RegExp(filename_match);
9199
list.forEach( function(file) {
92100
if (regex.test(file)) {
93-
var renderedEvent = $(Templates.event({'time': Util.getTime(), 'type': 'watchLog', 'text': 'Watching ' + file }));
101+
var renderedEvent = $(Templates.event({'time': Util.getTime(), text: 'Watching ' + file }));
94102
Data.ui.logs_list.prepend(renderedEvent);
95103

96-
t = new tail.startTailing(path.join(log_dir, file))
104+
t = new tail.startTailing(path.join(log_dir, file));
97105
t.on('line', function(line) {
106+
if (line.length === 1) return;
107+
98108
processLine(line, function(event) {
99109
if (!event) return;
100-
101-
var renderedEvent = $(Templates.report(event.data))
110+
111+
var renderedEvent = $(Templates.report(event.data));
102112
Data.ui.logs_list.prepend(renderedEvent);
103113
Data.state.datasources.local.getClient().publish('/events', event);
104114
});
105115
});
106116

107117
Data.state.datasources.logs.handles.push( t );
108118
}
109-
});
119+
});
110120
});
121+
122+
if (Data.state.datasources.logs.handles.length === 0) {
123+
var renderedEvent = $(Templates.event({'time': Util.getTime(), type: 'error', text: 'No logs to parse. Have you joined an intel channel today?' }));
124+
Data.ui.logs_list.prepend(renderedEvent);
125+
return;
126+
}
127+
111128
};
112129

113130
function resetLogPolling() {
@@ -123,7 +140,7 @@ function resetLogPolling() {
123140

124141
function log(message) {
125142
if (!Data.config.log) return;
126-
143+
127144
if (Data.config.log === 'events') {
128145
EventList.addEvent({
129146
type: 'info',
@@ -139,7 +156,7 @@ var Dict = function() {
139156
"use strict";
140157
this._root = {};
141158
};
142-
159+
143160
Dict.prototype = {
144161
/**
145162
* @param {string} word
@@ -160,7 +177,7 @@ Dict.prototype = {
160177
},
161178
compile: function compile() {
162179
var queue = [], entry, node, child, fall;
163-
180+
164181
queue.push(this._root);
165182
while( queue.length > 0 ) {
166183
node = queue.shift();
@@ -174,7 +191,7 @@ Dict.prototype = {
174191
queue.push(node[key]);
175192
}
176193
}
177-
194+
178195
this._root._fall = this._root;
179196
queue.push({char: null, node: this._root});
180197
while( queue.length > 0 ) {
@@ -267,40 +284,48 @@ request({url: Data.config.domain + '/data/map.json', json: true}, function (erro
267284
system_list = body.Systems;
268285
});
269286

270-
var lineRegex = /\[ (\d{4}\.\d{2}\.\d{2} \d{2}:\d{2}:\d{2}) \] ([\w ]+) > (.*)/i;
287+
// var lineRegex = /\[ (\d{4}\.\d{2}\.\d{2} \d{2}:\d{2}:\d{2}) \] ([\w ]+) > (.*)/i;
288+
var lineRegex = /\[(.*)\](.*)\> ?(.*)/i;
271289
var killmailRegex = /Kill: (.*) \((.*)\)/i;
272290
var characters = Object.create(null);
273291
var charDict = new Dict();
274-
292+
275293
var processLine = function processLine(line, next) {
294+
Data.ui.logs_list.prepend($(Templates.event({time: Util.getTime(), text: 'line: ' + line})));
295+
276296
if(line != undefined) {
277-
var result = lineRegex.exec(line);
297+
298+
// wtf are these? ��
299+
var buffer = encoding.convert(line, 'utf-16');
300+
var result = lineRegex.exec(buffer.toString());
301+
Data.ui.logs_list.prepend($(Templates.event({time: Util.getTime(), text: 'result: ' + result})));
302+
278303
if(result) {
279-
var timestamp = result[1];
280-
var sender = result[2];
281-
var text = result[3];
304+
var timestamp = result[1].slice(2,-2);
305+
var sender = result[2].slice(2,-2);
306+
var text = result[3].slice(2);
282307
var requestList = [];
283308
var resolvedCharacters = {};
284309
var clear = false;
285-
310+
286311
if( sender === 'EVE System') {
287312
next();
288313
return;
289314
}
290-
315+
291316
if(characters[sender.toUpperCase()] === undefined) {
292317
requestList.push(sender);
293318
}
294-
319+
295320
var killmailResult = killmailRegex.exec(line);
296321
if(killmailResult) {
297322
var deadCharacter = killmailResult[1];
298323
var lostShip = killmailResult[2];
299324
requestList.push(deadCharacter);
300-
325+
301326
var getCharIDsComplete = function getCharIDsComplete() {
302327
next({time: Util.getTime(), raw: line, type: 'sourcedKillmail',
303-
data: { type: 'sourcedKillmail', reporterId: characters[sender.toUpperCase()], reporterName: sender,
328+
data: { type: 'sourcedKillmail', reporterId: characters[sender.toUpperCase()], reporterName: sender,
304329
pilots: {deadCharacter: characters[deadCharacter.toUpperCase()]}, lostShip: lostShip}});
305330
};
306331
if(requestList.length > 0) {
@@ -311,19 +336,22 @@ var processLine = function processLine(line, next) {
311336
}
312337
}
313338
else {
314-
var split = text.split(" ");
339+
// var split = text.split(" ");
340+
var split = text.split(/\s/);
315341
var system;
342+
Data.ui.logs_list.prepend($(Templates.event({time: Util.getTime(), text: 'split: ' + split})));
343+
316344
split.forEach(function (element) {
317-
var matched_system = _.find(system_list, function(s) {
318-
var r = new RegExp(s.name);
345+
var matched_system = _.find(system_list, function(s) {
346+
var r = new RegExp(s.name, 'i');
319347
return r.test(element);
320348
});
321-
349+
322350
if(matched_system !== undefined) {
323351
system = {systemName: matched_system.name, systemId: matched_system.id, regionId: matched_system.regionID};
324352
if (element.toUpperCase() === system.systemName.toUpperCase()) return;
325353
}
326-
354+
327355
if(characters[element.toUpperCase()] === undefined) {
328356
var searchResult = charDict.search(element).sort(function(a,b){return b.length - a.length}).shift();
329357
if( searchResult !== undefined && characters[searchResult.toUpperCase()] !== null ) {
@@ -340,8 +368,8 @@ var processLine = function processLine(line, next) {
340368
resolvedCharacters[element] = characters[element.toUpperCase()];
341369
}
342370
});
343-
344-
if( system ) {
371+
372+
if( system ) {
345373
var type = (clear) ? 'sourcedClear' : 'sourcedHostile';
346374
if( requestList.length > 0 ) {
347375
var getCharIDsComplete = function getCharIDsComplete() {

app/js/client/UIPanels.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
var path = require('path');
12
var UIPanels = {
23

34
substringMatcher: function(strs) {

app/styles/main.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,14 +513,15 @@ rect.status-hostile { stroke: #d9534f; fill: #74312f; }
513513
.event.memberLeft { background-color:#123; border-bottom: 0.2rem solid #012; border-top: 0.16rem solid #246; }
514514
.event.scanShared { background-color:#332; border-bottom: 0.2rem solid #110; border-top: 0.16rem solid #553; }
515515
.event.reportShared { background-color:#332; border-bottom: 0.2rem solid #110; border-top: 0.16rem solid #553; }
516-
.event.error { background-color:#411; border-bottom: 0.2rem solid #200; border-top: 0.16rem solid #633; }
517516
.event.hostileTimedOut { background-color:#AF5B00; border-bottom: 0.2rem solid #291E0E; border-top: 0.16rem solid #BD8942; }
518517
.event.updateHostile { background-color:#885000; border-bottom: 0.2rem solid #291E0E; border-top: 0.16rem solid #BD8942; }
519518
.event.sourcedClear,
520519
.event.reportClear { background-color:#366436; border-bottom: 0.2rem solid #222; border-top: 0.16rem solid #5cb85c; }
521520
.event.sourcedHostile,
522521
.event.reportHostile { background-color:#411; border-bottom: 0.2rem solid #200; border-top: 0.16rem solid #633; }
523522

523+
.event.error { background-color:#411; border-bottom: 0.2rem solid #200; border-top: 0.16rem solid #633; }
524+
524525
/*/
525526
/ / PANEL
526527
*/

0 commit comments

Comments
 (0)