docs: def scan_url(url, line, project, split_path, apikey):
      """
      If URL is found, scan it
      """
      logger.info('File %s contains what I believe is a URL: %s', split_path, line.strip())
      logger.info('Scanning: %s', url)
      with open(reports_dir + "urls-" + project + ".log", "a") as gate_report:
          gate_report.write('File {} contains what I believe is a URL: {}\n'.format(split_path, url))
  
      v_api = virus_total.VirusTotal()
      while True:
          url_report = v_api.url_report(url, apikey)
          response_code = url_report['response_code']
  
          # report does not exist, need to scan
          if response_code == -2:
              logger.info('Report job still queued..')
  
          if response_code == 0:
              logger.info('No report  for %s', url)
              break
  
          if response_code == 1:
              logger.info('Report found, job complete for %s.', url)
              break
  
      try:
          positives = url_report['positives']
          if positives > 0:
              for site, results in url_report['scans'].items():
                  printed = False
                  if results['detected']:
                      with open(reports_dir + "urls-" + project + ".log", "a") as gate_report:
                          logger.error("%s is recorded as a %s by %s", url, results['result'], site)
                          gate_report.write('{} is recorded as a {} by {}\n'.format(url, results['result'], site))
              if not printed:
                  printed = True
                  with open(reports_dir + "urls-" + project + ".log", "a") as gate_report:
                      logger.error("Full report available here: %s", url_report['permalink'])
                      gate_report.write('Full report available here: {}\n'.format(url_report['permalink']))
  
          else:
              logger.info("%s is recorded as a clean", url)
              with open(reports_dir + "urls-" + project + ".log", "a") as gate_report:
                  gate_report.write('{} is recorded as a clean\n'.format(url))
  
      except:
          # No positives so we can pass this
          pass