import json import pathlib from types import MethodType, FunctionType from typing import Dict import sqlite3 def gen_config(): pass def update_attr(self: object, get: object): for k, v in items(get): if isinstance(v, MethodType) or isinstance(v, FunctionType): continue elif hasattr(self, k) and v is not None and len(v) > 0: try: setattr(self, k, v) except: pass return self def items(self): data = {} if isinstance(self, Dict): _items = self.items() else: _items = self.__dict__.items() for k, v in _items: if isinstance(v, MethodType) or isinstance(v, FunctionType): continue else: data[k] = v return data.items() def to_dict(self): data = {} for k, v in items(self): if isinstance(v, MethodType) or isinstance(v, FunctionType): continue else: data[k] = v return data def split_ip(ips: str): ip_list = [] for ip in ips.split('\n'): ip = ip.strip() ip_list.append(ip) return ip_list