aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--_libly.js10
-rw-r--r--notifier/observer_growl.js36
-rw-r--r--notifier/subject_hatena_message.js21
-rw-r--r--[-rwxr-xr-x]notifier/subject_liberator_echomsg.js4
-rw-r--r--[-rwxr-xr-x]notifier/subject_twitter_scraper.js17
-rw-r--r--[-rwxr-xr-x]notifier/subject_wassr.js15
-rw-r--r--[-rwxr-xr-x]notifier/subject_weather_yahoo.js5
7 files changed, 47 insertions, 61 deletions
diff --git a/_libly.js b/_libly.js
index 54bb042..fcdff1f 100644
--- a/_libly.js
+++ b/_libly.js
@@ -522,8 +522,6 @@ libly.Wedata.prototype = {
var STORE_KEY = 'plugins-libly-wedata-' + this.dbname + '-items';
var store = storage.newMap(STORE_KEY, true);
- expire = expire || 0;
-
if (store && store.get('data') && new Date(store.get('expire')) > new Date()) {
logger.log('return cache. ');
store.get('data').forEach(function(item) { if (typeof itemCallback == 'function') itemCallback(item); });
@@ -532,6 +530,8 @@ libly.Wedata.prototype = {
return;
}
+ expire = expire || 0;
+
function errDispatcher(msg, cache) {
if (cache) {
logger.log('return cache. -> ' + msg);
@@ -550,12 +550,12 @@ libly.Wedata.prototype = {
if (!text) {
errDispatcher('respons is null.', store.get('data'));
return;
- };
+ }
var json = libly.$U.evalJson(text);
if (!json) {
errDispatcher('uailed eval json.', store.get('data'));
return;
- };
+ }
store.set('expire', new Date(new Date().getTime() + expire).toString());
store.set('data', json);
store.save();
@@ -564,7 +564,7 @@ libly.Wedata.prototype = {
finalCallback(true, json);
}));
req.addEventListener('onFailure', function() errDispatcher('onFailure'));
- req.addEventListener('onException', function() errDispatcher('onException') );
+ req.addEventListener('onException', function() errDispatcher('onException'));
req.get();
}
};
diff --git a/notifier/observer_growl.js b/notifier/observer_growl.js
index 1c54db3..a10f2e3 100644
--- a/notifier/observer_growl.js
+++ b/notifier/observer_growl.js
@@ -72,7 +72,7 @@ Growl.prototype = {
this.options = $U.extend(this.defaults, (options || {}));
this.message = message;
var div = node.getElementsByTagName('div');
- div[0].addEventListener("click", $U.bind(this, this.remove), false);
+ div[0].addEventListener('click', $U.bind(this, this.remove), false);
},
remove: function() {
// TODO: animation!!!!
@@ -104,10 +104,10 @@ notifier.observer.register(notifier.Observer, {
update: function(message) {
var doc = window.content.document;
- var container = doc.getElementById("observer_growl");
+ var container = doc.getElementById('observer_growl');
if (!container) {
doc.body.appendChild($U.xmlToDom(<div id="observer_growl" class="observer_growl top-right"/>, doc));
- container = doc.getElementById("observer_growl");
+ container = doc.getElementById('observer_growl');
window.content.addEventListener('unload', $U.bind(this, function() {
if (container.__interval__) {
clearInterval(container.__interval__);
@@ -115,7 +115,7 @@ notifier.observer.register(notifier.Observer, {
}
}), false);
}
- var closer = doc.getElementById("observer_growl_closer");
+ var closer = doc.getElementById('observer_growl_closer');
var notification = this.createPopup(message, doc, container);
// TODO: animation!!!
@@ -124,13 +124,13 @@ notifier.observer.register(notifier.Observer, {
if (container.childNodes.length == 1 && !container.__interval__) {
let interval = setInterval($U.bind(this, this.checkStatus), 1000);
- this.intervalIDs[interval] = true;
+ this.intervalIDs[interval] = true;
container.__interval__ = interval;
} else if (container.childNodes.length >= 2) {
if (!closer) {
closer = $U.xmlToDom(<div id="observer_growl_closer" class="observer_growl_closer center" style="display: block;">[close all]</div>, doc);
container.insertBefore(closer, container.firstChild);
- closer.addEventListener("click", $U.bind(this, this.removeAll, 'test'), false);
+ closer.addEventListener('click', $U.bind(this, this.removeAll, 'test'), false);
}
}
@@ -153,10 +153,10 @@ notifier.observer.register(notifier.Observer, {
return node;
},
checkStatus: function(force) {
- force = force == 'EVENT_REMOVE_ALL' ? true : false;
+ force = force == 'EVENT_REMOVE_ALL';
var doc = window.content.document;
- var container = doc.getElementById("observer_growl");
+ var container = doc.getElementById('observer_growl');
if (!container) return;
var removeNodes = [];
@@ -182,23 +182,19 @@ notifier.observer.register(notifier.Observer, {
},
canRemove: function(growl) {
- var ret = false;
+ if (!growl || !growl.created || growl.options.sticky) return false;
- if (!growl || !growl.created) return ret;
- if (growl.options.sticky) return ret;
+ var text = growl.message.title + ' ' +
+ growl.message.message.replace(/(?:<[^>]*>)+/g, '');
+ if (growl.options.sticky_keywords.some(function(k) text.indexOf(k) > -1) ||
+ growl.created.getTime() + growl.options.life * 1000 > new Date().getTime())
+ return false;
- var text = growl.message.title + ' ' + growl.message.message.replace(/<.*?>/g, '');
- if (growl.options.sticky_keywords.some(function(k) text.indexOf(k) > -1)) return ret;
-
- if (growl.created.getTime() + (growl.options.life * 1000) > (new Date()).getTime())
- return ret;
-
- ret = true;
- return ret;
+ return true;
},
removeAll: function(a) {
this.checkStatus('EVENT_REMOVE_ALL');
- var closer = window.content.document.getElementById("observer_growl_closer");
+ var closer = window.content.document.getElementById('observer_growl_closer');
if (closer)
closer.parentNode.removeChild(closer);
},
diff --git a/notifier/subject_hatena_message.js b/notifier/subject_hatena_message.js
index d14878a..e4d6955 100644
--- a/notifier/subject_hatena_message.js
+++ b/notifier/subject_hatena_message.js
@@ -30,27 +30,24 @@ notifier.subject.register(notifier.SubjectHttp, {
extra: {}
},
preInitialize: function() {
- [username, password] = $U.getUserAndPassword('https://www.hatena.ne.jp', 'https://www.hatena.ne.jp');
+ var [username, password] = $U.getUserAndPassword('https://www.hatena.ne.jp', 'https://www.hatena.ne.jp');
this.options.extra.username = username;
this.options.extra.password = password;
return (username && password) ? true : false;
},
- parse: function(res) {
- var doc = res.getHTMLDocument('//table[@class="list"]//tr');
- return doc;
- },
+ parse: function(res)
+ res.getHTMLDocument('//table[@class="list"]//tr'),
diff: function(cache, parsed)
parsed.filter(function(element)
!cache.some(function(c) c.textContent == element.textContent)),
- buildMessages: function(diff) {
- return diff.map($U.bind(this, function(d) {
+ buildMessages: function(diff)
+ diff.map($U.bind(this, function(d) {
var anchor = $U.getFirstNodeFromXPath('descendant::a[@class="message-title"]', d);
- var permalink = URL + (anchor.href ? anchor.href : "");
- var [title, message, date] = [elm.textContent.replace(/^\s+|\s+$/g,"").replace(/>\s+</g,"><") for ([i,elm] in Iterator(d.cells))];
+ var permalink = URL + (anchor.href ? anchor.href : '');
+ var [title, message, date] = [elm.textContent.replace(/^\s+|\s+$/g,'').replace(/>\s+</g,'><') for ([i,elm] in Iterator(d.cells))];
var html = title + ' (' + date + ')<br/>' + message;
- return new notifier.Message('Hatena::Message', html, permalink)
- }));
- }
+ return new notifier.Message('Hatena::Message', html, permalink);
+ }))
});
})();
diff --git a/notifier/subject_liberator_echomsg.js b/notifier/subject_liberator_echomsg.js
index 5c963ef..b77f2ab 100755..100644
--- a/notifier/subject_liberator_echomsg.js
+++ b/notifier/subject_liberator_echomsg.js
@@ -57,10 +57,10 @@ notifier.subject.register(notifier.Subject, {
check: function() {
try {
this.__updating__ = true;
- this.messages = this.messages.filter(function(m) !this.filter.some(function(f) (m.indexOf(f) > -1 || m.match(f))), this);
+ this.messages = this.messages.filter(function(m) !this.filter.some(function(f) m.indexOf(f) > -1 || m.match(f) ? true : false), this);
if (!this.messages.length) return;
- var msg = '<ul><li>' + this.messages.join('</li><li>') + '</li></ul>';
+ let msg = '<ul><li>' + this.messages.join('</li><li>') + '</li></ul>';
this.messages = [];
this.notify(new notifier.Message('liberator.echomsg', msg));
diff --git a/notifier/subject_twitter_scraper.js b/notifier/subject_twitter_scraper.js
index e23e3e5..d935249 100755..100644
--- a/notifier/subject_twitter_scraper.js
+++ b/notifier/subject_twitter_scraper.js
@@ -38,22 +38,19 @@ notifier.subject.register(notifier.SubjectHttp, {
},
parse: function(res) {
// if (this.count == 0) return []; // for debug
- var doc = res.getHTMLDocument('id("timeline_body")/tr[@class=contains(concat(" ", @class, " "), " hentry ")]');
- return doc;
+ return res.getHTMLDocument('id("timeline_body")/tr[@class=contains(concat(" ", @class, " "), " hentry ")]');
},
diff: function(cache, parsed) {
var self = this;
return parsed.filter(function(element)
!cache.some(function(c) self.getContent(c) == self.getContent(element)));
},
- getContent: function(element)
- $U.getFirstNodeFromXPath('descendant::span[@class="entry-content"]', element).textContent,
- buildMessages: function(diff) {
- return diff.map($U.bind(this, function(d) {
- var permalink = $U.getFirstNodeFromXPath('descendant::a[@class="entry-date"]', d);
- return new notifier.Message('Twitter', $U.xmlSerialize(d), permalink)
- }));
- }
+ getContent: function(element)
+ $U.getFirstNodeFromXPath('descendant::span[@class="entry-content"]', element).textContent,
+ buildMessages: function(diff)
+ diff.map($U.bind(this, function(d)
+ new notifier.Message('Twitter', $U.xmlSerialize(d),
+ $U.getFirstNodeFromXPath('descendant::a[@class="entry-date"]', d))))
});
})();
diff --git a/notifier/subject_wassr.js b/notifier/subject_wassr.js
index 88a302a..6664889 100755..100644
--- a/notifier/subject_wassr.js
+++ b/notifier/subject_wassr.js
@@ -38,7 +38,7 @@ notifier.subject.register(notifier.SubjectHttp, {
extra: {}
},
preInitialize: function() {
- [username, password] = $U.getUserAndPassword('http://wassr.jp', 'http://wassr.jp');
+ var [username, password] = $U.getUserAndPassword('http://wassr.jp', 'http://wassr.jp');
this.options.url = URL + username;
this.options.extra.username = username;
this.options.extra.password = password;
@@ -51,19 +51,16 @@ notifier.subject.register(notifier.SubjectHttp, {
diff: function(cache, parsed)
parsed.filter(function(item)
!cache.some(function(c) c.html == item.html)),
- buildMessages: function(diff) {
- return diff.map($U.bind(this, function(d) {
- var html = <div>
+ buildMessages: function(diff)
+ diff.map($U.bind(this, function(d)
+ new notifier.Message('Wassr', <div>
{d.reply_status_url ? <p><a href={d.reply_status_url}>{'> ' + d.reply_message + ' by ' + d.reply_user_nick}</a></p> : ''}
<p>
<img src={d.user.profile_image_url} alt={d.user_login_id} width="16" height="16"/>
- {d.photo_thumbnail_url ? <img src={d.photo_thumbnail_url}/> : ''}
+ {d.photo_thumbnail_url ? <img src={d.photo_thumbnail_url} alt=""/> : ''}
{d.html || ''}
</p>
- </div>.toString();
- return new notifier.Message('Wassr', html, d.link)
- }));
- }
+ </div>.toString(), d.link)))
});
})();
diff --git a/notifier/subject_weather_yahoo.js b/notifier/subject_weather_yahoo.js
index 9f67997..2868140 100755..100644
--- a/notifier/subject_weather_yahoo.js
+++ b/notifier/subject_weather_yahoo.js
@@ -105,9 +105,8 @@ URLs.forEach(function(url) {
}
return source;
},
- buildMessages: function(diff) {
- return new notifier.Message('Weather forecast by Yahoo!', $U.xmlSerialize(diff), url);
- }
+ buildMessages: function(diff)
+ new notifier.Message('Weather forecast by Yahoo!', $U.xmlSerialize(diff), url)
});
});