33 lines
979 B
Python
33 lines
979 B
Python
#!/usr/bin/env python3
|
|
"""Update levels species folowing the folder names"""
|
|
|
|
import json
|
|
import glob
|
|
import os
|
|
|
|
SPECIES_FOLDER_NAMES = list(map(os.path.basename, glob.glob("./static/data/src_audio/*")))
|
|
|
|
def filter(species, condition):
|
|
keeped = []
|
|
for name in species:
|
|
if condition(name):
|
|
keeped.append(name)
|
|
return keeped
|
|
|
|
def only_matched_folder(species_name):
|
|
folder_like_name = species_name.replace(' ', '_').replace('\'', '')
|
|
folder_like_name = folder_like_name.lower()
|
|
return folder_like_name in SPECIES_FOLDER_NAMES
|
|
|
|
def main():
|
|
with open("./data/level_species.json", "r") as f:
|
|
data = json.load(f)
|
|
for level in data:
|
|
species_list = data[level]
|
|
species_list = filter(species_list, only_matched_folder)
|
|
data[level] = species_list
|
|
with open("./data/level_species_cleaned.json", "w") as f:
|
|
json.dump(data, f, ensure_ascii=False, indent=4)
|
|
|
|
if __name__ == "__main__":
|
|
main() |