42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
import csv
|
||
|
||
def read_csv_to_dict(filename):
|
||
d = {}
|
||
with open(filename, newline='', encoding='utf-8') as f:
|
||
reader = csv.DictReader(f)
|
||
for row in reader:
|
||
d[row["Artist Name"]] = row
|
||
return d
|
||
|
||
def detect_changes(old_data, new_data):
|
||
changes = []
|
||
|
||
old_keys = set(old_data.keys())
|
||
new_keys = set(new_data.keys())
|
||
|
||
removed = old_keys - new_keys
|
||
added = new_keys - old_keys
|
||
common = old_keys & new_keys
|
||
|
||
for artist in removed:
|
||
changes.append(f"❌ Removed: **{artist}**")
|
||
|
||
for artist in added:
|
||
changes.append(f"➕ Added: **{artist}**")
|
||
|
||
for artist in common:
|
||
old_row = old_data[artist]
|
||
new_row = new_data[artist]
|
||
|
||
if old_row["URL"] != new_row["URL"]:
|
||
changes.append(f"🔗 Link changed for **{artist}**")
|
||
if old_row["Credit"] != new_row["Credit"]:
|
||
changes.append(f"✏️ Credit changed for **{artist}**")
|
||
if old_row["Links Work"] != new_row["Links Work"]:
|
||
changes.append(f"🔄 Links Work status changed for **{artist}**")
|
||
if old_row["Updated"] != new_row["Updated"]:
|
||
changes.append(f"🕒 Updated date changed for **{artist}**")
|
||
if old_row["Best"] != new_row["Best"]:
|
||
changes.append(f"⭐ Best flag changed for **{artist}**")
|
||
|
||
return changes
|