Skip to content

Commit 340540b

Browse files
author
Evgheni Chiriliuc
committed
Merge branch 'master' of github.com:ecdeveloper/node-web-crawler
2 parents 7a80b9a + b7d915d commit 340540b

File tree

4 files changed

+57
-28
lines changed

4 files changed

+57
-28
lines changed

app.js

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,23 @@
22
* Module dependencies.
33
*/
44

5-
var express = require('express')
6-
, http = require('http')
7-
, path = require('path')
8-
, partials = require('express-partials')
9-
, config = require('./config')
10-
, app = express();
11-
12-
global.io = require('socket.io').listen(app.listen( config.port ));
13-
5+
var express = require('express')
6+
, http = require('http')
7+
, path = require('path')
8+
, partials = require('express-partials')
9+
, underscore = require('underscore')
10+
, config = require('./config')
11+
, app = express();
12+
13+
// set config by environment
14+
if (process.env.ENVIRONMENT!='default') {
15+
app.config = underscore.extend(config.default, config[process.env.ENVIRONMENT]);
16+
} else {
17+
app.config = config.default;
18+
}
19+
20+
// setup socket io
21+
global.io = require('socket.io').listen(app.listen( app.config.server.port ));
1422
io.configure(function () {
1523
io.set('transports', ['websocket', 'xhr-polling']);
1624
io.set('log level', config.log_level);
@@ -24,13 +32,13 @@ io.sockets.on('connection', function (socket)
2432

2533
// db connect
2634
var db = require('mongoose');
27-
db.connect(config.db.service+'://'+config.db.host+'/'+config.db.database);
35+
db.connect(app.config.db.service+'://'+app.config.db.host+'/'+app.config.db.database);
2836

2937
app.configure(function() {
3038
app.set('views', __dirname + '/views');
3139
app.set('view engine', 'ejs');
3240
app.set('view options', { layout:true, pretty: true });
33-
app.set('config', config);
41+
app.set('config', app.config);
3442
app.set('db', db);
3543
app.use(express.favicon());
3644
app.use(express.logger('dev'));

config.json

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
/* Configurations */
22
{
3-
"log_level": 0,
4-
"port": 3000,
5-
"db": {
6-
"service": "mongodb",
7-
"host": "localhost",
8-
"database": "search_for_404_v4"
3+
"default": {
4+
"log_level": 0,
5+
"server": {
6+
"scheme": "http",
7+
"host": "localhost",
8+
"port": 3000
9+
},
10+
"db": {
11+
"service": "mongodb",
12+
"host": "localhost",
13+
"database": "search_for_404_v4"
14+
}
15+
},
16+
"development": {
17+
"log_level": 1
918
}
1019
}

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
"socket.io": "0.x.x",
1313
"named-argv": "0.x.x",
1414
"jsdom": "0.x.x",
15-
"ejs": "0.x.x"
15+
"ejs": "0.x.x",
16+
"url": "0.x.x",
17+
"underscore": "1.x.x"
1618
}
1719
}

routes/index.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ module.exports = function(app) {
1313
}
1414

1515
function getHomePage(req, res) {
16-
var port = res.app.settings.config.port;
16+
var port = res.app.settings.config.server.port;
1717

1818
res.render('index', {
1919
port: port
@@ -107,18 +107,28 @@ function postAddScraper(req, res)
107107

108108
case "sitemap-created":
109109

110-
var sitemap_path = "public/sitemaps/sitemap_"+ data.host +".xml";
111-
fs.writeFile(sitemap_path, data.content, function(err)
112-
{
113-
if(err)
114-
console.log(err);
115-
else
116-
io.sockets.emit('sitemap-ready', {path: sitemap_path.replace("public/", "")})
110+
var sitemap_path = "public/sitemaps/";
111+
fs.exists(sitemap_path, function(exists) {
112+
if (!exists) {
113+
fs.mkdir(sitemap_path, writeSitemap);
114+
} else {
115+
writeSitemap();
116+
}
117117

118-
// Terminate crawling daemon
118+
// Terminate crawling daemon
119119
child.kill();
120-
});
120+
});
121+
function writeSitemap() {
122+
var filename = "sitemap_"+ data.host +".xml";
123+
fs.writeFile(sitemap_path + filename, data.content, function(err)
124+
{
125+
if(err)
126+
console.log(err);
127+
else
128+
io.sockets.emit('sitemap-ready', {path: sitemap_path.replace("public/", "")})
129+
});
121130

131+
}
122132
break;
123133
}
124134
})

0 commit comments

Comments
 (0)