mirror of
https://github.com/Mayccoll/Gogh.git
synced 2023-08-10 21:12:46 +03:00
31 lines
995 B
Python
31 lines
995 B
Python
|
import json
|
||
|
import os
|
||
|
import re
|
||
|
from unidecode import unidecode
|
||
|
|
||
|
# Load the JSON object from a file or a string
|
||
|
with open('./data/themes.json', 'r') as f:
|
||
|
json_obj = json.load(f)
|
||
|
|
||
|
# Get the list of themes
|
||
|
themes = json_obj['themes']
|
||
|
|
||
|
# Create or empty the directory to store the output files
|
||
|
output_dir = './json'
|
||
|
if not os.path.exists(output_dir):
|
||
|
os.makedirs(output_dir)
|
||
|
else:
|
||
|
for filename in os.listdir(output_dir):
|
||
|
os.remove(os.path.join(output_dir, filename))
|
||
|
|
||
|
# Iterate over each theme and write it to a new file
|
||
|
for theme in themes:
|
||
|
# Get the name of the theme and remove accents
|
||
|
name = theme['name'].lower()
|
||
|
name = unidecode(name)
|
||
|
name = re.sub(r'[^\w-]+', '-', name) # Replace non-alphanumeric characters with a dash
|
||
|
# Convert the theme dictionary to JSON
|
||
|
json_str = json.dumps(theme)
|
||
|
# Write the JSON string to a new file with the theme name as the filename
|
||
|
with open(f'{output_dir}/{name}.json', 'w') as f:
|
||
|
f.write(json_str)
|