common/corpus-common-addon/lib/commands/dl-fixtures.js
changeset 131 31a5c314d575
parent 130 fac22d8c2df8
child 158 366509ae2f37
equal deleted inserted replaced
130:fac22d8c2df8 131:31a5c314d575
    43   availableOptions: [
    43   availableOptions: [
    44     { name: 'type', type: String, default: 'documents', aliases: ['t'], description: "type of obejcts to downloads" },
    44     { name: 'type', type: String, default: 'documents', aliases: ['t'], description: "type of obejcts to downloads" },
    45     { name: 'url',  type: String, aliases: ['u'], description: "Source url" },
    45     { name: 'url',  type: String, aliases: ['u'], description: "Source url" },
    46     { name: 'dest', type: String, aliases: ['d'], description: "File destination"  },
    46     { name: 'dest', type: String, aliases: ['d'], description: "File destination"  },
    47     { name: 'page', type: Number, default: 1 , aliases: ['p'], description: "number of page to download"},
    47     { name: 'page', type: Number, default: 1 , aliases: ['p'], description: "number of page to download"},
       
    48     { name: 'format', type: String, default: 'es6' , aliases: ['f'], description: "Format for module export, es6 or require"},
    48   ],
    49   ],
    49   run: function(commandOptions, rawArgs) {
    50   run: function(commandOptions, rawArgs) {
    50 
    51 
    51     //TODO: check that commandOptions.url is not empty
    52     //TODO: check that commandOptions.url is not empty
    52 
    53 
    53     var dest = commandOptions.dest || "." + path.sep + commandOptions.type + ".js"
    54     var dest = commandOptions.dest || "." + path.sep + commandOptions.type + ".js"
       
    55     var format = commandOptions.format || 'es6';
    54 
    56 
    55     var ids = [];
    57     var ids = [];
    56     var pageIndex = 1;
    58     var pageIndex = 1;
    57     var nextPageUrl = commandOptions.url;
    59     var nextPageUrl = commandOptions.url;
    58 
    60 
    98         });
   100         });
    99         return deferred.promise;
   101         return deferred.promise;
   100       }));
   102       }));
   101     }).then(function(res) {
   103     }).then(function(res) {
   102       var deferred = Q.defer();
   104       var deferred = Q.defer();
   103       fs.writeFile(dest, "module.exports = " + JSON.stringify(res,null,2) + ";", function(err) {
   105       var prefix = (format==='es6')?'export default ':"module.exports = ";
       
   106       fs.writeFile(dest, prefix + JSON.stringify(res,null,2) + ";", function(err) {
   104         if(err) {
   107         if(err) {
   105           return deferred.reject(err);
   108           return deferred.reject(err);
   106         }
   109         }
   107         deferred.resolve();
   110         deferred.resolve();
   108       });
   111       });