Skip to content

Commit

Permalink
more followup to #101 - better debug output
Browse files Browse the repository at this point in the history
  • Loading branch information
Dane Springmeyer committed Aug 9, 2013
1 parent 2bd5fac commit fbed88d
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions lib/millstone.js
Original file line number Diff line number Diff line change
Expand Up @@ -358,41 +358,51 @@ function unzip(file, callback) {
})
.map(function(name) {
if (!valid_ds_extensions[path.extname(name).toLowerCase()]) return;
return path.join(
var new_name = path.join(
path.dirname(file),
path.basename(file, path.extname(file)) +
path.extname(name).toLowerCase()
);
path.extname(name).toLowerCase());
return {new_name:new_name,original_name:name};
})
.uniq()
.compact()
.value();

var ds_file = ds_files[0];
var ds_file = ds_files[0].original_name;
var new_name = ds_files[0].new_name;

if (ds_files.length > 1) {
var len = Object.keys(ds_files).length;
if (len > 1) {
// prefer first .shp
for (var i=0;i<ds_files.length;++i) {
var fname = ds_files[i];
for (var i=0;i<len;++i) {
var fname = ds_files[i].original_name;
if (path.extname(fname) == '.shp') {
ds_file = fname;
new_name = ds_files[i].new_name;
break;
}
}
if (env == 'development') {
console.error('[millstone] warning: detected more than one file type in zip (by ext) that may be valid: ' + ds_files);
console.error('[millstone] warning: chose: ' + ds_file);
console.warn('[millstone] warning: detected more than one file in zip (by ext) that may be valid: ');
for (var i=0;i<len;++i) {
console.warn('[millstone] ' + ds_files[i].original_name);
}
console.warn('[millstone] picked: ' + ds_file);
}
}

if (!ds_file) return callback(new Error("Valid datasource not detected (by extension) in zip: '" + file + "'"));
if (!new_name) return callback(new Error("Valid datasource not detected (by extension) in zip: '" + file + "'"));

if (env == 'development') {
console.warn('[millstone]: renaming ' + ds_file + ' to ' + new_name);
}

zf.names.forEach(function(name) {
// Skip directories, hiddens.
var basename = path.basename(name);
if (!path.extname(name) || name[0] === '.' || basename[0] === '.') {
remain--;
if (!remain) callback(null, ds_file);
if (!remain) callback(null, new_name);
} else {
// We're brutal in our expectations -- don't support nested
// directories, and rename any file from `arbitraryName.SHP`
Expand All @@ -412,11 +422,11 @@ function unzip(file, callback) {
if (err) return callback(err);
remain--;
if (!remain) {
add_item_to_metafile(metafile,ds_file,function(err) {
add_item_to_metafile(metafile,new_name,function(err) {
// ignore error from add_item_to_metafile
//if (err && env == 'development') console.error('[millstone] ' + err.message);
if (err) throw err;
callback(null, ds_file);
callback(null, new_name);
});
}
});
Expand Down

0 comments on commit fbed88d

Please sign in to comment.