Example #1
0
    var proc = process.exec(cmd , function( error, stdout){
      if (error) {
        console.error("Error spawning netsh : " + proc.error);
        self._knownWifis = {};
        return;
      }

      // Fetching visible ssid
      var ssids = [], output = stdout.toString();
      output.split("\n").forEach(function(line) {
        var parts = line.trim().split(":");
        if (parts[0].indexOf("SSID") === 0 && parts[1].trim().length > 0)
          ssids.push(parts[1].trim());
      });
      
      // New wlan found
      ssids.forEach(function(ssid) {
        if (!self._knownWifis[ssid]) {
          var infos = {ssid:ssid};
          self._knownWifis[ssid] = infos ;
          self.fireEvent(netshd.EVENT_WIFI_FOUND, infos);
        }
      });
      
      // wlan to remove
      var toRemove = difference(Object.keys(self._knownWifis), ssids);
      toRemove.forEach(function(ssid) {
        var gone = self._knownWifis[ssid];
        delete self._knownWifis[ssid];
        self.fireEvent(netshd.EVENT_WIFI_LOST, gone);
      });
    });
Example #2
0
	/**
	 * @param  {String[]} bannersList
	 */
	calculate ( bannersList ) {

		const allList = bannersList;
		const allVisibleBanners = this.getVisibleBanners();
		const allHiddenBanners = difference(allList, allVisibleBanners);

		const list = bannersList;
		const visibleBanners = intersection(allVisibleBanners, list);
		const hiddenBanners = difference(list, visibleBanners);

		return {
			hide: hiddenBanners,
			show: visibleBanners
		};

	}
exports.run = function (grunt, task) {

	var
		diff = require("mout/array/difference"),
		keys = require("mout/object/keys"),
		map = require("mout/object/map"),
		blob, value;

	if(!task.data){
		grunt.fail.fatal("Test failed.\nNo test found!'");
		return;
	}

	var diff_result = diff(["dest", "files"], keys(task.data));
	if (!!diff_result.length) {
		grunt.fail.fatal("Test failed.\nMissing properties: '"+diff_result.join("','")+"'.");
		return;
	}

	value = task.data;

	if (!!value.data && !!value.data.indexOf && !!value.data.indexOf("file!"===0)) {
		var file_name = value.data.replace(/^file\!/,"");
		if (grunt.file.exists(file_name)){
			value.data = grunt.file.readJSON(file_name);
		} else {
			grunt.fail.fatal("[page.data]: attempt failed to  file:"+file_name+" failed!");
		}
	}

	if(!!value.raw && value.raw.constructor.name === "Object"){
		value.raw = map(value.raw,function(value){
			if (value.indexOf("file!")===0){
				value = value.replace(/^file\!/,"");
				if (grunt.file.exists(value)){
					return grunt.file.read(value);
				} else {
					grunt.fail.fatal("[page.raw]: attempt failed to  file:"+file_name+" failed!");
				}
			}
			return value;
		});
	}

	blob = grunt.config.get("concat");
	blob[task.target] = {
		src : task.data.files,
		dest : task.data.dest,
		options : task.data.concat_options
	};

	grunt.config.set("concat",blob);
	var to_run = ["concat:"+task.target];
	if (!!task.data.data){
		grunt.config.set("blob-"+task.target,value);
		to_run.push("render-template:"+task.target);
	}
	grunt.task.run(to_run);
};
Example #4
0
  async _check_project(project) {

    console.log("Checking project %s#%s", project.name, project.id);

    var pattern = this._lookup_config(project);
console.log(pattern);

    var members = pattern.members;
      delete pattern.members;

    if(members) {
      var current = await client.rq("/projects/{{id}}/members", { id : project.id } );
      current = require('mout/array/pluck')( current, 'id');

      
      var target = values(pick(this.users, this.expand_users(members))).filter( v => !!v);


      var missing = diff(target, current );
      await eachLimit(missing, 1, async(user_id) => {
        await client.post("/projects/{{id}}/members", { id : project.id,  user_id, access_level : 30} );
      });


      process.exit();
    }
    
    await eachOfSeries(pattern, async(prop_value, prop_name) => {

      if(project[prop_name] == prop_value)
        return;
      console.log(project.name, "Changing", prop_name, "to", prop_value );

      if( !(opts['cli://unattended']) &&  !(await bprompt("Proceed", true)))
        return;

      await client.put("/projects/{{id}}", {id : project.id, [prop_name]: prop_value });
    });
  }
Example #5
0
	grunt.registerMultiTask('mout', 'Grunt task for creating custom browserify builds of http://moutjs.com.', function () {
		var options = this.options(defaults);
		var done = this.async();
		var b = browserify({
      debug: options.debug,
      standalone: options.standalone
    });
		var files;

		function complete(err) {
			if (err) {
				grunt.log.error(err);
				done(false);
			} else {
				if (options.spy) {
					fs.appendFile(options.dest, fs.readFileSync(path.join(process.cwd(), './lib/spy.js'), { encoding: 'utf8' }), function (err) {
						if (err) {
							grunt.log.error(err);
							done(false);
						} else {
							grunt.log.ok();
							done();
						}
					});
				} else {
					grunt.log.ok();
					done();
				}
			}
		}

		try {
			b.on('error', complete);
			options.dest = this.files.length ? this.files[0].dest : defaults.dest;

			if (!('modules' in options)) {
				files = [];
			} else {
				files = difference(subModules, options.modules);
				modules.forEach(function (name) {
					if (contains(options.modules, name)) {
						files = reject(files, function (item) {
							return item.indexOf(name) !== -1;
						});
					}
				});
			}

			createDestDir(options.dest);

			b.add(require.resolve('mout'));
			files.forEach(function (name) {
				b.ignore(require.resolve(name));
			});
			grunt.log.write('Writing ' + options.dest + '...');
			var writable = fs.createWriteStream(path.join(process.cwd(), options.dest));
			var readable = b.bundle();
			readable.on('error', complete);
			writable.on('error', complete);
			writable.on('close', function () {
				complete();
			});
			readable.pipe(writable);
		} catch (err) {
			complete(err);
		}
	});