def check_for_third_level_domains(filename): with open("public_suffix_list.dat", "r") as latest: psl = PublicSuffixList(latest) invalid = { line for line in files[filename] if len(psl.privateparts(line.strip())) > 1 } if invalid: print( "The following domains contain a third or lower level domain in {!r}:" .format(filename)) for line in sorted(invalid): print("* {}".format(line)) sys.exit(1)