new_contents: #!/usr/bin/env python2
  
  from subprocess import Popen, PIPE
  
  import os
  import urllib2
  import sys
  
  utilDir = os.path.dirname(os.path.realpath(__file__))
  
  ignores = ['localhost', '127.0.0.1', 'your-server', 'docker-ip',
             'ghbtns', 'sphinx-doc']
  def ignoreURL(url):
      for ignore in ignores:
          if ignore in url:
              return True
      return False
  
  hdr = {
      'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
      'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
      'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
      'Accept-Encoding': 'none',
      'Accept-Language': 'en-US,en;q=0.8',
      'Connection': 'keep-alive'
  }
  
  dirs = ['api-docs', 'batch-represent', 'docs', 'evaluation',
          'openface', 'training', 'util']
  dirs = [os.path.join(utilDir, '..', d) for d in dirs]
  cmd = ['grep', '-I', '--no-filename',
         '-o', '\(http\|https\)://[^"\')}`<> ]*',
         '-R'] + dirs + \
         ['--exclude-dir=_build']
  
  p = Popen(cmd, stdout=PIPE)
  out = p.communicate()[0]
  urls = set(out.split())
  
  badURLs = []
  for url in urls:
      if not ignoreURL(url):
          if url.endswith('.'):
              url = url[:-1]
          print("+ {}".format(url))
          try:
              req = urllib2.Request(url, headers=hdr)
              resp = urllib2.urlopen(req)
          except Exception as e:
              print("  + Error:\n\n")
              print(e)
              print("\n\n")
              badURLs.append(url)
  
  print('\nFound {} bad of {} URLs'.format(len(badURLs), len(urls)))
  if len(badURLs) > 0:
      print("\n\n=== Bad URLs.\n")
      for url in badURLs:
          print("+ {}".format(url))
      sys.exit(-1)
  
subject: Add util script to check for broken links.