old_contents: #!/usr/bin/env python
  
  import os
  import subprocess
  import sys
  
  
  SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
  WINDOWS_NODE_PATHs = [
    'C:/Program Files (x86)/nodejs',
    'C:/Program Files/nodejs',
  ] + os.environ['PATH'].split(os.pathsep)
  NIX_NODE_PATHs = [
    '/usr/local/bin',
    '/usr/bin',
    '/bin',
  ] + os.environ['PATH'].split(os.pathsep)
  
  
  def main():
    input_file = sys.argv[1]
    output_dir = os.path.dirname(sys.argv[2])
  
    coffee = os.path.join(SOURCE_ROOT, 'node_modules', 'coffee-script', 'bin',
                          'coffee')
  
    node = 'node'
    if sys.platform in ['win32', 'cygwin']:
      node = find_node(WINDOWS_NODE_PATHs, 'node.exe')
    else:
      node = find_node(NIX_NODE_PATHs, 'node')
  
    if not node:
      print 'Node.js not found in PATH for building electron'
      return 1
  
    subprocess.check_call(['node', coffee, '-c', '-o', output_dir, input_file],
                          executable=node)
  
  
  def find_node(paths, target):
    for path in paths:
      full_path = os.path.join(path, target)
      if os.path.exists(full_path):
        return full_path
    return None
  
  
  if __name__ == '__main__':
    sys.exit(main())
  
new_contents: #!/usr/bin/env python
  
  import os
  import subprocess
  import sys
  
  
  SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
  WINDOWS_NODE_PATHs = os.environ['PATH'].split(os.pathsep) + [
    'C:/Program Files (x86)/nodejs',
    'C:/Program Files/nodejs',
  ]
  NIX_NODE_PATHs = os.environ['PATH'].split(os.pathsep) + [
    '/usr/local/bin',
    '/usr/bin',
    '/bin',
  ]
  
  def main():
    input_file = sys.argv[1]
    output_dir = os.path.dirname(sys.argv[2])
  
    coffee = os.path.join(SOURCE_ROOT, 'node_modules', 'coffee-script', 'bin',
                          'coffee')
  
    node = 'node'
    if sys.platform in ['win32', 'cygwin']:
      node = find_node(WINDOWS_NODE_PATHs, 'node.exe')
    else:
      node = find_node(NIX_NODE_PATHs, 'node')
  
    if not node:
      print 'Node.js not found in PATH for building electron'
      return 1
  
    subprocess.check_call(['node', coffee, '-c', '-o', output_dir, input_file],
                          executable=node)
  
  
  def find_node(paths, target):
    for path in paths:
      full_path = os.path.join(path, target)
      if os.path.exists(full_path):
        return full_path
    return None
  
  
  if __name__ == '__main__':
    sys.exit(main())
  
subject: Check PATH first