diff --git a/download.py b/download.py index 1bd7907..81ee2e7 100755 --- a/download.py +++ b/download.py @@ -241,6 +241,13 @@ if __name__ == "__main__": # cловари для группировки ipv4_dict=dict() ipv6_dict=dict() + # словарь аргументов вызова + arg_dict = defaultdict(list) + for c in sys.argv[1:]: + key = "off" if c[0] == "-" else "on" + value = c[1:].upper() if c[0] == "-" else c.upper() + arg_dict[key].append(value) + arg_dict = dict(arg_dict) # создаем дерриктори. для сохранения outdir=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'unloading') if not os.path.exists(outdir): @@ -259,7 +266,9 @@ if __name__ == "__main__": community=[c for c in value[0].get('community', "").split(",") if c] # если передан аргумент(ы) запуска, # значит пытаемся обновить только указанные списки - if len(sys.argv)==1 or clist in sys.argv[1:] or not f"-{clist}" in sys.argv[1:]: + if not arg_dict or \ + (len(arg_dict) == 2 and clist in arg_dict["on"] and not clist in arg_dict["off"]) or \ + (len(arg_dict) == 1 and (("on" in arg_dict and clist in arg_dict["on"]) or ("off" in arg_dict and not clist in arg_dict["off"]))): print("") # вычисляем кол-во записей прошлой выгрузки ipv4_count_old = sum(1 for line in open(ipv4_out_file)) if os.path.isfile(ipv4_out_file) else 0