def generate_extra_files(): # pylint: disable=too-many-branches,too-many-statements """ Update/Create `clean.list`, `volatile.list` and `whitelisted.list`. """ if bool(int(INFO["clean_original"])): # pylint: disable=too-many-nested-blocks clean_list = [] volatile_list = [] list_special_content = Helpers.Regex( Helpers.File(Settings.file_to_test).to_list(), Settings.regex_whitelist).matching_list() active = Settings.current_directory + "output/domains/ACTIVE/list" inactive = Settings.current_directory + "output/domains/INACTIVE/list" if path.isfile(active): print("Starting manipulation of `{}`.".format(active)) clean_list.extend( Helpers.Regex(Helpers.File(active).to_list(), r"^#").not_matching_list()) clean_list.extend(list_special_content) print("Stoping manipulation of `{}`.".format(active)) if path.isfile(inactive): print("Starting manipulation of `{}`.".format(inactive)) volatile_list.extend( Helpers.Regex(Helpers.File(inactive).to_list(), REGEX_SPECIAL).matching_list()) print("Stoping manipulation of `{}`.".format(inactive)) print("Deletion of duplicate for `{}`".format( Settings.clean_list_file)) clean_list = Helpers.List(clean_list).format() print("Generation of the content of `{}`".format( Settings.whitelisted_list_file)) whitelisted = clean_list_with_official_whitelist(clean_list, multiprocessing=True, processes=60) volatile_list.extend(clean_list) volatile_list = Helpers.List(volatile_list).format() print("Writing `{}`".format(Settings.clean_list_file)) Helpers.File(Settings.clean_list_file).write("\n".join(clean_list), overwrite=True) print("Writing `{}`".format(Settings.whitelisted_list_file)) Helpers.File(Settings.whitelisted_list_file).write( "\n".join(whitelisted), overwrite=True) print("Writing `{}`".format(Settings.volatile_list_file)) Helpers.File(Settings.volatile_list_file).write( "\n".join(volatile_list), overwrite=True) Helpers.File("whitelisting.py").delete()
def generate_clean_and_whitelisted_list(): """ Update/Create `clean.list` and `whitelisted.list`. """ if bool(int(INFO["clean_original"])): clean_list = [] list_special_content = Helpers.Regex( Helpers.File(Settings.file_to_test + Settings.list_name).to_list(), r"ALL\s").matching_list() active = Settings.current_directory + "output/domains/ACTIVE/list" if path.isfile(active): clean_list.extend( Helpers.Regex(Helpers.File(active).to_list(), r"^#").not_matching_list() + list_special_content) clean_list = Helpers.List(clean_list).format() whitelisted = Whitelist(string="\n".join(clean_list)).get() Helpers.File(Settings.clean_list_file).write("\n".join(clean_list), overwrite=True) Helpers.File(Settings.whitelisted_list_file).write(whitelisted, overwrite=True) Helpers.File("whitelisting.py").delete()
def get_administration_file(): """ Get the administation file content. """ if path.isfile(Settings.repository_info): content = Helpers.File(Settings.repository_info).read() INFO.update(Helpers.Dict().from_json(content)) else: raise Exception("Unable to find the administration file.")
def generate_clean_list(): """ Update `clean.list`. """ if bool(int(INFO["clean_original"])): clean_list = [] list_special_content = Helpers.Regex( Helpers.File(Settings.file_to_test + INFO["list_name"]).to_list(), r"ALL\s").matching_list() active = Settings.current_directory + "output/domains/ACTIVE/list" if path.isfile(active): clean_list.extend( Helpers.Regex(Helpers.File(active).to_list(), r"^#").not_matching_list() + list_special_content) clean_list = Helpers.List(clean_list).format() Helpers.File(Settings.clean_list_file).write("\n".join(clean_list), overwrite=True)