var path = require('path');
var fs = require('fs');
var childProcess = require('child_process');

var pythonExecutable = process.env.PYTHON;

module.exports = function(cb) {
  verifyNode(function(error, nodeSuccessMessage) {
    if (error) {
      cb(error);
      return;
    }

    verifyPython27(function(error, pythonSuccessMessage) {
      cb(error, nodeSuccessMessage + "\n" + pythonSuccessMessage);
    });
  });

};

function verifyNode(cb) {
  var nodeVersion = process.versions.node;
  var versionArray = nodeVersion.split('.');
  var nodeMajorVersion = +versionArray[0];
  var nodeMinorVersion = +versionArray[1];
  if (nodeMajorVersion === 0 && nodeMinorVersion < 10) {
    error = "node v0.10 is required to build Atom.";
    cb(error);
  }
  else {
    cb(null, "Node: v" + nodeVersion);
  }
}

function verifyPython27(cb) {
  if (process.platform !== 'win32') {
    cb(null, "Python: <not verified>");
  }
  else {
    if (!pythonExecutable) {
      var systemDrive = process.env.SystemDrive || 'C:\\';
      pythonExecutable = path.join(systemDrive, 'Python27', 'python.exe');

      if (!fs.existsSync(pythonExecutable)) {
        pythonExecutable = 'python';
      }
    }

    checkPythonVersion(pythonExecutable, cb);
  }
}

function checkPythonVersion (python, cb) {
  var pythonHelpMessage = "Set the PYTHON env var to '/path/to/Python27/python.exe' if your python is installed in a non-default location.";

  childProcess.execFile(python, ['-c', 'import platform; print(platform.python_version());'], { env: process.env }, function (err, stdout) {
    if (err) {
      error = "Python 2.7 is required to build Atom. An error (" + err + ") occured when checking the version of '" + python + "'. ";
      error += pythonHelpMessage;
      cb(error);
      return;
    }

    var version = stdout.trim();
    if (~version.indexOf('+')) {
      version = version.replace(/\+/g, '');
    }
    if (~version.indexOf('rc')) {
      version = version.replace(/rc(.*)$/ig, '');
    }

    // Atom requires python 2.7 or higher (but not python 3) for node-gyp
    var versionArray = version.split('.').map(function(num) { return +num; });
    var goodPythonVersion = (versionArray[0] === 2 && versionArray[1] >= 7);
    if (!goodPythonVersion) {
      error = "Python 2.7 is required to build Atom. '" + python + "' returns version " + version + ". ";
      error += pythonHelpMessage;
      cb(error);
      return;
    }

    // Finally, if we've gotten this far, callback to resume the install process.
    cb(null, "Python: v" + version);
  });
}

@@ -855,17 +855,16 @@
 latform 
-!
 == 'win3
@@ -873,61 +873,8 @@
 ) %7B%0A
-    cb(null, %22Python: %3Cnot verified%3E%22);%0A  %7D%0A  else %7B%0A
     
@@ -1177,24 +1177,77 @@
 e, cb);%0A  %7D%0A
+  else %7B%0A    cb(null, %22Python: %3Cnot verified%3E%22);%0A  %7D%0A
 %7D%0A%0Afunction 

Reorder if/else check