🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
94 lines
2.5 KiB
Python
94 lines
2.5 KiB
Python
"""
|
|
Test upload script for Info Layers
|
|
Uploads first 10 records from each layer to test the fix
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
from verofy_uploader import VerofyUploader
|
|
|
|
# Get credentials from environment
|
|
EMAIL = os.getenv("VEROFY_USER")
|
|
PASSWORD = os.getenv("VEROFY_PASS")
|
|
|
|
if not EMAIL or not PASSWORD:
|
|
print("❌ Missing environment variables: Please set VEROFY_USER and VEROFY_PASS")
|
|
sys.exit(1)
|
|
|
|
# Configuration
|
|
MAP_ID = 16950
|
|
TEMP_DIR = Path("../temp")
|
|
LIMIT = 10 # Upload only first 10 records
|
|
|
|
print("=" * 60)
|
|
print("VEROFY API INFO LAYERS TEST")
|
|
print("=" * 60)
|
|
print(f"Map ID: {MAP_ID}")
|
|
print(f"Temp Directory: {TEMP_DIR}")
|
|
print(f"Limit: {LIMIT} records per layer")
|
|
print(f"Email: {EMAIL}")
|
|
print(f"Fixes Applied:")
|
|
print(f" - Removed JSON-encoding of data field")
|
|
print(f" - Send data as plain array")
|
|
print("=" * 60)
|
|
print()
|
|
|
|
# Initialize uploader
|
|
uploader = VerofyUploader(EMAIL, PASSWORD)
|
|
|
|
# Authenticate
|
|
if not uploader.authenticate():
|
|
print("❌ Authentication failed")
|
|
sys.exit(1)
|
|
|
|
results = {
|
|
"success": True,
|
|
"uploaded": {},
|
|
"errors": []
|
|
}
|
|
|
|
# Test each info layer
|
|
info_layers = [
|
|
("cabinet_boundaries.shp", uploader._upload_cabinet_boundaries),
|
|
("cables.shp", uploader._upload_cables),
|
|
("parcels.shp", uploader._upload_parcels)
|
|
]
|
|
|
|
for shapefile_name, upload_method in info_layers:
|
|
print(f"📤 Testing {shapefile_name}...")
|
|
shapefile_path = TEMP_DIR / shapefile_name
|
|
if shapefile_path.exists():
|
|
try:
|
|
count, errors = upload_method(shapefile_path, MAP_ID, LIMIT)
|
|
results["uploaded"][shapefile_name] = count
|
|
if errors:
|
|
results["errors"].extend(errors)
|
|
print(f"✅ Uploaded {count} {shapefile_name.replace('.shp', '')} records")
|
|
except Exception as e:
|
|
error_msg = f"Error uploading {shapefile_name}: {str(e)}"
|
|
print(f"❌ {error_msg}")
|
|
results["errors"].append(error_msg)
|
|
results["success"] = False
|
|
else:
|
|
print(f"⚠️ {shapefile_name} not found")
|
|
|
|
# Display results
|
|
print()
|
|
print("=" * 60)
|
|
print("INFO LAYERS TEST RESULTS")
|
|
print("=" * 60)
|
|
print(f"Success: {results['success']}")
|
|
print()
|
|
print("Uploaded counts:")
|
|
for shapefile, count in results.get('uploaded', {}).items():
|
|
print(f" {shapefile}: {count} records")
|
|
|
|
if results.get('errors'):
|
|
print()
|
|
print("Errors encountered:")
|
|
for error in results['errors']:
|
|
print(f" - {error}")
|
|
|
|
print("=" * 60)
|