mirror of
https://github.com/web3privacy/explorer-data.git
synced 2024-10-15 12:06:26 +02:00
65 lines
2.2 KiB
Python
65 lines
2.2 KiB
Python
|
import yaml
|
||
|
import os
|
||
|
|
||
|
# Funkce pro načtení YAML souboru
|
||
|
def load_yaml(file_path):
|
||
|
with open(file_path, 'r', encoding='utf-8') as file:
|
||
|
return yaml.safe_load(file)
|
||
|
|
||
|
# Funkce pro zápis YAML souboru
|
||
|
def save_yaml(file_path, data):
|
||
|
with open(file_path, 'w', encoding='utf-8') as file:
|
||
|
yaml.dump(data, file, allow_unicode=True)
|
||
|
|
||
|
# Funkce pro odstranění všeho kromě 'usecase'
|
||
|
def keep_only_usecase(file_path):
|
||
|
try:
|
||
|
# Načti YAML soubor
|
||
|
data = load_yaml(file_path)
|
||
|
|
||
|
# Ponechej jen klíč 'usecase', pokud existuje
|
||
|
if 'usecase' in data:
|
||
|
filtered_data = {'usecase': data['usecase']}
|
||
|
else:
|
||
|
filtered_data = {}
|
||
|
|
||
|
# Ulož upravený soubor zpět
|
||
|
save_yaml(file_path, filtered_data)
|
||
|
return True
|
||
|
except Exception as e:
|
||
|
print(f"Chyba při zpracování souboru {file_path}: {e}")
|
||
|
return False
|
||
|
|
||
|
# Funkce pro procházení složek a zpracování souborů index.yaml
|
||
|
def process_yaml_projects(projects_dir):
|
||
|
total_files = 0
|
||
|
processed_files = 0
|
||
|
|
||
|
for project in os.listdir(projects_dir):
|
||
|
project_path = os.path.join(projects_dir, project)
|
||
|
index_file_path = os.path.join(project_path, 'index.yaml')
|
||
|
|
||
|
# Ověř, že cesta je složka a obsahuje soubor 'index.yaml'
|
||
|
if os.path.isdir(project_path):
|
||
|
total_files += 1
|
||
|
if os.path.isfile(index_file_path):
|
||
|
success = keep_only_usecase(index_file_path)
|
||
|
if success:
|
||
|
print(f"Zpracováno: {index_file_path}")
|
||
|
processed_files += 1
|
||
|
else:
|
||
|
print(f"Nelze zpracovat: {index_file_path}")
|
||
|
else:
|
||
|
print(f"Složka {project_path} neobsahuje soubor 'index.yaml'")
|
||
|
|
||
|
print(f"Celkový počet složek: {total_files}")
|
||
|
print(f"Úspěšně zpracovaných souborů: {processed_files}")
|
||
|
print(f"Nepřepsaných složek (bez 'index.yaml' nebo s chybou): {total_files - processed_files}")
|
||
|
|
||
|
# Použití
|
||
|
# Zde nastav složku, kde jsou tvé projekty (src/projects)
|
||
|
projects_dir = "src/projects"
|
||
|
|
||
|
# Spusť zpracování
|
||
|
process_yaml_projects(projects_dir)
|