示例#1
0
def process_list(urlist, wanted, output):
    processed = []
    formatted = (out.rtf_format if output == "rtf" else
                 out.json_format if output == "json" else out.std_format)
    spinner = Spinner("Checking URLs ")
    with concurrent.futures.ThreadPoolExecutor() as executor:
        results = [executor.submit(get_status, url) for url in urlist]
        for connection in concurrent.futures.as_completed(results):
            status = connection.result()
            if status["desc"] in wanted:
                processed.append(formatted(status))
            spinner.next()
    spinner.writeln("\033[F")  # move cursor to the beginning of previous line
    spinner.finish()
    return processed