This commit is contained in:
Dorae 2024-01-24 13:53:44 +08:00 committed by GitHub
parent 7c9b5ecd8c
commit f6843d6cfd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

51
main.py
View File

@ -33,22 +33,43 @@ def parse_and_convert_to_dataframe(link):
try: try:
yaml_data = read_yaml_from_url(link) yaml_data = read_yaml_from_url(link)
rows = [] rows = []
for item in yaml_data.get('payload', []): if not isinstance(yaml_data, str):
address = item.strip("'") for item in yaml_data.get('payload', []):
if ',' not in item: address = item.strip("'")
if is_ipv4_or_ipv6(item): if ',' not in item:
pattern = 'IP-CIDR' if is_ipv4_or_ipv6(item):
else: pattern = 'IP-CIDR'
if address.startswith('+'):
pattern = 'DOMAIN-SUFFIX'
address = address[1:]
if address.startswith('.'):
address = address[1:]
else: else:
pattern = 'DOMAIN' if address.startswith('+'):
else: pattern = 'DOMAIN-SUFFIX'
pattern, address = item.split(',', 1) address = address[1:]
rows.append({'pattern': pattern.strip(), 'address': address.strip(), 'other': None}) if address.startswith('.'):
address = address[1:]
else:
pattern = 'DOMAIN'
else:
pattern, address = item.split(',', 1)
rows.append({'pattern': pattern.strip(), 'address': address.strip(), 'other': None})
else:
lines = yaml_data.splitlines()
line_content = lines[0]
items = line_content.split()
for item in items:
address = item
if ',' not in item:
if is_ipv4_or_ipv6(item):
pattern = 'IP-CIDR'
else:
if address.startswith('+'):
pattern = 'DOMAIN-SUFFIX'
address = address[1:]
if address.startswith('.'):
address = address[1:]
else:
pattern = 'DOMAIN'
else:
pattern, address = item.split(',', 1)
rows.append({'pattern': pattern.strip(), 'address': address.strip(), 'other': None})
df = pd.DataFrame(rows, columns=['pattern', 'address', 'other']) df = pd.DataFrame(rows, columns=['pattern', 'address', 'other'])
except: except:
df = read_list_from_url(link) df = read_list_from_url(link)