'This was taken from the original halberd, \'script/halberd\' .'

def _main(self, url):

    scantask = halberd_scan_task.ScanTask()
    scantask.scantime = halberd_scan_task.default_scantime
    scantask.parallelism = halberd_scan_task.default_parallelism
    scantask.verbose = False
    scantask.debug = True
    scantask.conf_file = halberd_scan_task.default_conf_file
    scantask.cluefile = ''
    scantask.save = ''
    temp_output = tempfile.NamedTemporaryFile(delete=False)
    scantask.out = temp_output.name
    halberd_logger.setError()
    try:
        scantask.readConf()
    except halberd_scan_task.ConfError as e:
        om.out.error(('Failed    to    initialize    Halberd    configuration:    "%s"' % e))
        return
    scantask.url = url
    scantask.addr = ''
    scanner = CustomScanStrategy
    try:
        s = scanner(scantask)
    except halberd_shell.ScanError as msg:
        om.out.error(('Halberd    error:    %s' % msg))
        return
    try:
        s.execute()
    except halberd_shell.ScanError as msg:
        om.out.debug(('Halberd    error:    %s' % msg))
        return
    self._report(s.task, temp_output.name)
