Skip to content

Commit 007a837

Browse files
committed
Convert to ISO dates when harvesting, reformat date when returning challenges
1 parent 5fa78b0 commit 007a837

File tree

2 files changed

+67
-4
lines changed

2 files changed

+67
-4
lines changed

app.js

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,6 @@ function getFeed(callback)
181181
xml += chunk;
182182
});
183183

184-
// todo: handle sort
185-
186184
resp.on('end', function() {
187185
var parseOptions = {
188186
"explicitArray": false,
@@ -214,6 +212,46 @@ function saveFeed(data, callback) {
214212
if (entry) {
215213
console.log('entry exists: ' + entry.title);
216214
} else {
215+
216+
// convert string dates to mongo iso date
217+
// (current date)
218+
// submission_period_start_date
219+
// submission_period_end_date
220+
// judging_period_start_date
221+
// judging_period_end_date
222+
// public_voting_period_start_date
223+
// public_voting_period_end_date
224+
// winners_announced_date
225+
226+
item.posted_date = Date();
227+
228+
if (item.submission_period_start_date)
229+
item.submission_period_start_date = Date(item.submission_period_start_date);
230+
231+
if (item.submission_period_end_date)
232+
item.submission_period_end_date = Date(item.submission_period_end_date);
233+
234+
if (item.judging_period_start_date)
235+
item.judging_period_start_date = Date(item.judging_period_start_date);
236+
237+
if (item.judging_period_end_date)
238+
item.judging_period_end_date = Date(item.judging_period_end_date);
239+
240+
if (item.public_voting_period_start_date)
241+
item.public_voting_period_start_date = Date(item.public_voting_period_start_date);
242+
243+
if (item.public_voting_period_end_date)
244+
item.public_voting_period_end_date = Date(item.public_voting_period_end_date);
245+
246+
if (item.winners_announced_date)
247+
item.winners_announced_date = Date(item.winners_announced_date);
248+
249+
// convert prize to number
250+
if (item.prize_money)
251+
item.prize_money = Number(item.prize_money);
252+
253+
console.log(item);
254+
217255
collection.save(item, function(err, saved) {
218256
if (err) {
219257
return callback(err);

routes/challenges.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,33 @@ function getChallenges (req, res, next) {
2525

2626
var stream = collection.find().stream();
2727

28-
stream.on('data', function(data) {
29-
feed.challenges.push(data);
28+
stream.on('data', function(item) {
29+
30+
if (item.posted_date)
31+
item.posted_date = item.posted_date.substring(4, 15);
32+
33+
if (item.submission_period_start_date)
34+
item.submission_period_start_date = item.submission_period_start_date.substring(4, 15);
35+
36+
if (item.submission_period_end_date)
37+
item.submission_period_end_date = item.submission_period_end_date.substring(4, 15);
38+
39+
if (item.judging_period_start_date)
40+
item.judging_period_start_date = item.judging_period_start_date.substring(4, 15);
41+
42+
if (item.judging_period_end_date)
43+
item.judging_period_end_date = item.judging_period_end_date.substring(4, 15);
44+
45+
if (item.public_voting_period_start_date)
46+
item.public_voting_period_start_date = item.public_voting_period_start_date.substring(4, 15);
47+
48+
if (item.public_voting_period_end_date)
49+
item.public_voting_period_end_date = item.public_voting_period_end_date.substring(4, 15);
50+
51+
if (item.winners_announced_date)
52+
item.winners_announced_date = item.winners_announced_date.substring(4, 15);
53+
54+
feed.challenges.push(item);
3055
});
3156

3257
stream.on('end', function() {

0 commit comments

Comments
 (0)