forked from GitHub/dbot
Fixed web loading and hot refresh of pages [#131]
This commit is contained in:
parent
b733564cb2
commit
0a3d1b6f9e
@ -103,6 +103,6 @@ var pages = function(dbot) {
|
||||
};
|
||||
};
|
||||
|
||||
exports.getPages = function(dbot) {
|
||||
exports.fetch = function(dbot) {
|
||||
return pages(dbot);
|
||||
};
|
@ -3,6 +3,13 @@ var express = require('express'),
|
||||
fs = require('fs');
|
||||
|
||||
var webInterface = function(dbot) {
|
||||
this.name = 'web';
|
||||
this.ignorable = false;
|
||||
|
||||
this.onDestroy = function() {
|
||||
server.close();
|
||||
}
|
||||
|
||||
var pub = 'public';
|
||||
var app = express();
|
||||
|
||||
@ -15,7 +22,8 @@ var webInterface = function(dbot) {
|
||||
|
||||
var server = app.listen(dbot.config.web.webPort);
|
||||
|
||||
var reloadPages = function(pages) {
|
||||
this.reloadPages = function() {
|
||||
var pages = dbot.pages;
|
||||
for(var p in pages) {
|
||||
if(_.has(pages, p)) {
|
||||
var func = pages[p];
|
||||
@ -25,26 +33,16 @@ var webInterface = function(dbot) {
|
||||
var shim = Object.create(resp);
|
||||
shim.render = (function(view, one, two) {
|
||||
// Render with express.js
|
||||
resp.render(this.module.name + '/' + view, one, two);
|
||||
resp.render(this.module + '/' + view, one, two);
|
||||
}).bind(this);
|
||||
shim.render_core = resp.render;
|
||||
this.call(this.module, req, shim);
|
||||
}).bind(func));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
'name': 'web',
|
||||
'ignorable': false,
|
||||
'reloadPages': reloadPages,
|
||||
|
||||
'onDestroy': function() {
|
||||
server.close();
|
||||
}
|
||||
};
|
||||
}.bind(this);
|
||||
};
|
||||
|
||||
exports.fetch = function(dbot) {
|
||||
return webInterface(dbot);
|
||||
return new webInterface(dbot);
|
||||
};
|
||||
|
13
run.js
13
run.js
@ -244,20 +244,11 @@ DBot.prototype.reloadModules = function() {
|
||||
}
|
||||
}.bind(this));
|
||||
|
||||
this.reloadPages();
|
||||
if(_.has(this.modules, 'web')) this.modules.web.reloadPages();
|
||||
|
||||
this.save();
|
||||
};
|
||||
|
||||
// I honestly don't know what the fuck this is meant to do. Why is it getting a
|
||||
// reference to all the pages?
|
||||
DBot.prototype.reloadPages = function() {
|
||||
_.each(this.modules, function(module) {
|
||||
if(_.isFunction(module.reloadPages)) {
|
||||
module.reloadPages(this.pages);
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
||||
DBot.prototype.cleanNick = function(key) {
|
||||
key = key.toLowerCase();
|
||||
while(key.endsWith("_")) {
|
||||
|
Loading…
Reference in New Issue
Block a user