Add all local circuit work — year-by-year SVGs and tooling
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
import json
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
def load_json_file(file_path: str):
|
||||
"""Load and parse a JSON file"""
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
return json.load(f)
|
||||
|
||||
def save_json_file(data, file_path: str):
|
||||
"""Save data to a JSON file"""
|
||||
with open(file_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, indent=2, ensure_ascii=False)
|
||||
|
||||
def clean_and_move_files(data):
|
||||
"""Remove filePath and years properties, and move files to new locations"""
|
||||
new_data = {}
|
||||
|
||||
for country, country_data in data.items():
|
||||
country_slug = country_data['slug']
|
||||
new_country_data = country_data.copy()
|
||||
|
||||
for city, city_data in country_data['cities'].items():
|
||||
city_slug = city_data['slug']
|
||||
|
||||
for circuit_name, circuit_data in city_data['circuits'].items():
|
||||
circuit_slug = circuit_data['slug']
|
||||
|
||||
if 'layouts' in circuit_data:
|
||||
for layout_years, layout_data in circuit_data['layouts'].items():
|
||||
# Get the old file path
|
||||
old_file_path = None
|
||||
if 'filePath' in layout_data:
|
||||
old_file_path = layout_data['filePath']
|
||||
del layout_data['filePath']
|
||||
|
||||
# Remove years property
|
||||
if 'years' in layout_data:
|
||||
del layout_data['years']
|
||||
|
||||
# Construct new path
|
||||
layout_slug = layout_data['slug']
|
||||
new_base_path = Path(f"{country_slug}/{city_slug}/{circuit_slug}")
|
||||
|
||||
# Create directory if it doesn't exist
|
||||
new_base_path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Move files if they exist
|
||||
if old_file_path:
|
||||
for ext in ['.svg', '.png', '.geo.json']:
|
||||
old_file = Path(f"{old_file_path}{ext}")
|
||||
new_file = new_base_path / f"{layout_slug}{ext}"
|
||||
|
||||
if old_file.exists():
|
||||
print(f"Moving {old_file} to {new_file}")
|
||||
shutil.move(old_file, new_file)
|
||||
else:
|
||||
print(f"File not found: {old_file}")
|
||||
|
||||
new_data[country] = new_country_data
|
||||
|
||||
return new_data
|
||||
|
||||
def main():
|
||||
# Load the data
|
||||
data = load_json_file("circuits.json")
|
||||
|
||||
# Clean data and move files
|
||||
print("Cleaning data and moving files...")
|
||||
new_data = clean_and_move_files(data)
|
||||
|
||||
# Save the modified data
|
||||
print("Saving modified data...")
|
||||
save_json_file(new_data, "circuits.json")
|
||||
|
||||
print("Done!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user