Merge pull request #23 from teresita-guerrero/issue20
Dead stores should be removed on userStory.js Fixes #20
This commit is contained in:
commit
dbafcfc7e2
|
@ -2,11 +2,8 @@ module.exports = function(UserStory) {
|
|||
var fs = require("fs");
|
||||
var route = '../tracker';
|
||||
var app = require('../../server/server');
|
||||
var http = require("http");
|
||||
var https = require('https');
|
||||
var markdown = require("markdown").markdown;
|
||||
var async = require("async");
|
||||
var htmlparser = require("htmlparser");
|
||||
var cheerio = require('cheerio');
|
||||
var xssFilters = require("xss-filters");
|
||||
const SPEC_URL = "http://specs.openstack.org/openstack/openstack-user-stories/user-stories/proposed/";
|
||||
|
@ -30,7 +27,6 @@ module.exports = function(UserStory) {
|
|||
//filter by Id
|
||||
var file = userStories.filter(function(item){
|
||||
// VALIDATE IF A VALID ID IS COMING!
|
||||
console.log("my id",xssFilters.inHTMLData(id));
|
||||
return item.id == xssFilters.inHTMLData(id);
|
||||
})
|
||||
|
||||
|
@ -46,20 +42,16 @@ module.exports = function(UserStory) {
|
|||
total: 0
|
||||
}
|
||||
|
||||
userStory.tasks.forEach(function (taskName, index, array) {
|
||||
userStory.tasks.forEach(function (taskName) {
|
||||
|
||||
var task = userStory.tasks_status[taskName];
|
||||
console.log("La tarea es:", task);
|
||||
|
||||
task.projects.forEach(function (projectName, index, array) {
|
||||
console.log("The project name is, ", projectName);
|
||||
task.projects.forEach(function (projectName) {
|
||||
//VALIDATE projectName EXISTS
|
||||
var blueprints = task.projects_status[xssFilters.inHTMLData(projectName)].blueprints;
|
||||
var blueprintNames = Object.keys(blueprints);
|
||||
|
||||
blueprintNames.forEach(function (blueprintName, index, array) {
|
||||
console.log("single blueprint: ",blueprintName);
|
||||
console.log("el nombre del blue print es: ", blueprints[blueprintName]);
|
||||
blueprintNames.forEach(function (blueprintName) {
|
||||
// VALIDATE PROPERLY if this statement is not true
|
||||
if (blueprints[xssFilters.inHTMLData(blueprintName)] == 'completed')
|
||||
blueprintsResume.completed = blueprintsResume.completed + 1;
|
||||
|
@ -82,7 +74,7 @@ module.exports = function(UserStory) {
|
|||
var Patch = app.models.Patch;
|
||||
var lastUpdate = '';
|
||||
|
||||
Patch.latestUpdate(userStory.source, function (err, response, next) {
|
||||
Patch.latestUpdate(userStory.source, function (err, response) {
|
||||
response = JSON.parse(response.substring(5));
|
||||
|
||||
if(response.length > 0){
|
||||
|
@ -100,99 +92,7 @@ module.exports = function(UserStory) {
|
|||
|
||||
}
|
||||
|
||||
|
||||
// Parse data from userStory
|
||||
var parseUserStory = function(userStory, callback){
|
||||
|
||||
async.waterfall([function(cb){
|
||||
|
||||
getLastUpdated(userStory, cb)
|
||||
|
||||
},function(lastUpdated, cb){
|
||||
userStory.updatedOn = lastUpdated;
|
||||
userStory.showDetailedUri = SPEC_URL + userStory.source + '.html';
|
||||
userStory.createdOn = userStory.date;
|
||||
userStory.completed = getbluePrintResume(userStory);
|
||||
|
||||
cb(null, userStory);
|
||||
|
||||
},function(userStory, cb){
|
||||
|
||||
var tasksName = userStory.tasks;
|
||||
var tasks = userStory.tasks_status;
|
||||
|
||||
parseTasks(userStory, tasksName, tasks, cb)
|
||||
|
||||
}],function(err,userStory){
|
||||
callback(null, userStory);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//??
|
||||
var parseTasks = function(userStory, tasksNames, tasks, callback) { //get tasks
|
||||
|
||||
var tmpTasks = {};
|
||||
async.each(tasksNames, function(taskName, callbackInner) {
|
||||
|
||||
parseTask(tasks[taskName], function(err, parsedTask){
|
||||
|
||||
tmpTasks[taskName] = parsedTask;
|
||||
|
||||
var tmpProjects = {};
|
||||
async.each(tmpTasks[taskName].projects, function(projectName, callbackInner2) {
|
||||
|
||||
parseProject(tmpTasks[taskName].projects_status[projectName], function(err, parsedProject){
|
||||
tmpProjects[projectName] = parsedProject;
|
||||
|
||||
//Bluprints
|
||||
var blueprintNames = Object.keys(tmpProjects[projectName].blueprints);
|
||||
|
||||
async.map(blueprintNames, function(blueprintName, callbackInner3) {
|
||||
|
||||
parseBlueprint(tmpProjects[projectName].blueprints[blueprintName], blueprintName, projectName, function(err, parsedBlueprint){
|
||||
// tmpProjects[projectName].blueprints[blueprintName] = parsedBlueprint
|
||||
callbackInner3(null, parsedBlueprint)
|
||||
})
|
||||
|
||||
}, function(err, blueprints) {
|
||||
|
||||
tmpProjects[projectName].blueprints = blueprints;
|
||||
|
||||
var project = {};
|
||||
project[projectName] = tmpProjects[projectName];
|
||||
|
||||
callbackInner2(null)
|
||||
|
||||
});
|
||||
//fin blueprints
|
||||
|
||||
})
|
||||
|
||||
}, function(err) {
|
||||
|
||||
tmpTasks[taskName].projects_status = tmpProjects;
|
||||
callbackInner(null)
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
}, function(err) {
|
||||
|
||||
userStory.tasks = tasksNames;
|
||||
userStory.tasks_status = tmpTasks;
|
||||
|
||||
//userStory.percentageComplete = getPercentage(blueprintsResume)
|
||||
|
||||
callback(null, userStory);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
//?
|
||||
|
||||
//getting task description
|
||||
var getTaskDescription = function(task, callback){
|
||||
|
||||
var Rst = app.models.Rst;
|
||||
|
@ -204,8 +104,9 @@ module.exports = function(UserStory) {
|
|||
var $ = cheerio.load(html_content);
|
||||
|
||||
var index = null;
|
||||
var description;
|
||||
//Find the title
|
||||
var description = $('h1').each(function(i, elem) {
|
||||
$('h1').each(function(i, elem) {
|
||||
if(elem.children[0].data == 'Problem description'){
|
||||
index = i;
|
||||
}
|
||||
|
@ -223,13 +124,14 @@ module.exports = function(UserStory) {
|
|||
})
|
||||
|
||||
}
|
||||
//?
|
||||
|
||||
var getUriTask = function(spec){
|
||||
var base = 'https://github.com/openstack/openstack-specs/blob/master/specs/';
|
||||
|
||||
return base + spec + '.rst';
|
||||
}
|
||||
//?
|
||||
|
||||
//parsing task
|
||||
var parseTask = function(originalTask, callback){
|
||||
|
||||
getTaskDescription(originalTask, function(err, description){
|
||||
|
@ -239,8 +141,8 @@ module.exports = function(UserStory) {
|
|||
})
|
||||
|
||||
}
|
||||
//?
|
||||
|
||||
//parsing project
|
||||
var parseProject = function(originalProject, callback){
|
||||
|
||||
var urlArray = originalProject.spec.split('/');
|
||||
|
@ -250,7 +152,7 @@ module.exports = function(UserStory) {
|
|||
callback(null, originalProject)
|
||||
}
|
||||
|
||||
//?
|
||||
//parsing blueprints
|
||||
var parseBlueprint = function(originalBlueprint, blueprintName, projectName, callback){
|
||||
var Blueprint = app.models.Blueprint;
|
||||
var Patch = app.models.Patch;
|
||||
|
@ -292,8 +194,93 @@ module.exports = function(UserStory) {
|
|||
|
||||
}
|
||||
|
||||
//parsing tasks
|
||||
var parseTasks = function(userStory, tasksNames, tasks, callback) { //get tasks
|
||||
|
||||
var tmpTasks = {};
|
||||
async.each(tasksNames, function(taskName, callbackInner) {
|
||||
|
||||
parseTask(tasks[taskName], function(err, parsedTask){
|
||||
|
||||
tmpTasks[taskName] = parsedTask;
|
||||
|
||||
var tmpProjects = {};
|
||||
async.each(tmpTasks[taskName].projects, function(projectName, callbackInner2) {
|
||||
|
||||
parseProject(tmpTasks[taskName].projects_status[projectName], function(err, parsedProject){
|
||||
tmpProjects[projectName] = parsedProject;
|
||||
|
||||
//Bluprints
|
||||
var blueprintNames = Object.keys(tmpProjects[projectName].blueprints);
|
||||
|
||||
async.map(blueprintNames, function(blueprintName, callbackInner3) {
|
||||
|
||||
parseBlueprint(tmpProjects[projectName].blueprints[blueprintName], blueprintName, projectName, function(err, parsedBlueprint){
|
||||
// tmpProjects[projectName].blueprints[blueprintName] = parsedBlueprint
|
||||
callbackInner3(null, parsedBlueprint)
|
||||
})
|
||||
|
||||
}, function(err, blueprints) {
|
||||
|
||||
tmpProjects[projectName].blueprints = blueprints;
|
||||
|
||||
var project = {};
|
||||
project[projectName] = tmpProjects[projectName];
|
||||
|
||||
callbackInner2(null)
|
||||
|
||||
});
|
||||
//fin blueprints
|
||||
|
||||
})
|
||||
|
||||
}, function() {
|
||||
tmpTasks[taskName].projects_status = tmpProjects;
|
||||
callbackInner(null)
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
}, function() {
|
||||
userStory.tasks = tasksNames;
|
||||
userStory.tasks_status = tmpTasks;
|
||||
|
||||
//userStory.percentageComplete = getPercentage(blueprintsResume)
|
||||
|
||||
callback(null, userStory);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Parse data from userStory
|
||||
var parseUserStory = function(userStory, callback){
|
||||
|
||||
async.waterfall([function(cb){
|
||||
|
||||
getLastUpdated(userStory, cb)
|
||||
|
||||
},function(lastUpdated, cb){
|
||||
userStory.updatedOn = lastUpdated;
|
||||
userStory.showDetailedUri = SPEC_URL + userStory.source + '.html';
|
||||
userStory.createdOn = userStory.date;
|
||||
userStory.completed = getbluePrintResume(userStory);
|
||||
|
||||
cb(null, userStory);
|
||||
|
||||
},function(userStory, cb){
|
||||
|
||||
var tasksName = userStory.tasks;
|
||||
var tasks = userStory.tasks_status;
|
||||
|
||||
parseTasks(userStory, tasksName, tasks, cb)
|
||||
|
||||
}],function(err,userStory){
|
||||
callback(null, userStory);
|
||||
})
|
||||
}
|
||||
|
||||
//?
|
||||
UserStory.on('attached',function(){
|
||||
|
||||
UserStory.findById = function(id, params, cb){
|
||||
|
|
Loading…
Reference in New Issue