data-comparison/test_final_duplicate_fix.py
2025-08-20 14:58:30 +07:00

52 lines
2.6 KiB
Python

import requests
def test_final_duplicate_fix():
print("=== FINAL DUPLICATE FIX TEST ===")
try:
# Test the analyze endpoint
response = requests.post('http://localhost:8081/analyze',
json={'file_path': 'data/sample-data.xlsx'},
timeout=30)
if response.status_code == 200:
data = response.json()
if data.get('success'):
results = data['results']
print("✓ Analysis successful!")
print(f" Matched items: {results['matched_items_count']}")
print(f" KST only: {results['mismatches']['kst_only_count']}")
print(f" Coordi only: {results['mismatches']['coordi_only_count']}")
print(f" KST duplicates: {results['mismatches']['kst_duplicates_count']}")
print(f" Coordi duplicates: {results['mismatches']['coordi_duplicates_count']}")
total_different = (results['mismatches']['kst_only_count'] +
results['mismatches']['coordi_only_count'] +
results['mismatches']['kst_duplicates_count'] +
results['mismatches']['coordi_duplicates_count'])
print(f" Total different items: {total_different}")
# Check for the specific example
kst_duplicates = results['mismatch_details']['kst_duplicates']
backlight_duplicates = [item for item in kst_duplicates
if '백라이트' in item['title'] and '53-1x' in item['episode']]
if backlight_duplicates:
print(f"\n✓ Found 백라이트 duplicates: {len(backlight_duplicates)}")
print(f" Example: {backlight_duplicates[0]['title']} - Episode {backlight_duplicates[0]['episode']}")
print(f"\n✓ Web interface ready at http://localhost:8081")
print("✓ The 'Different' tab will now show combined reasons like:")
print(" 백라이트 - Episode 53-1x(휴재) | (empty) | Only appears in KST + Duplicate in KST")
else:
print(f"✗ Analysis failed: {data.get('error')}")
else:
print(f"✗ Request failed: {response.status_code}")
except requests.exceptions.RequestException as e:
print(f"✗ Request failed: {e}")
if __name__ == "__main__":
test_final_duplicate_fix()