Skip to content

Commit bdc9a5e

Browse files
authored
Merge branch 'develop' into backend/submodule-adj
2 parents e09bbda + a5f7b66 commit bdc9a5e

2 files changed

Lines changed: 25 additions & 24 deletions

File tree

backend/cmd/main.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"net/http"
1313
_ "net/http/pprof"
1414
"os"
15+
"os/exec"
1516
"os/signal"
1617
"path"
1718
"runtime"
@@ -106,6 +107,13 @@ func main() {
106107
trace.Fatal().Err(err).Msg("setting up ADJ")
107108
}
108109

110+
test := exec.Command("python3", "testadj.py")
111+
out, err := test.CombinedOutput()
112+
if err != nil || len(out) != 0 {
113+
fmt.Printf("\nPython test failed:\nError: %v\nOutput: %s\n", err, string(out))
114+
os.Exit(1)
115+
}
116+
109117
podData, err := pod_data.NewPodData(adj.Boards, adj.Info.Units)
110118
if err != nil {
111119
fmt.Println(err)
Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import os
22
import json
3-
from collections import Counter
43

54

65
def validate_json_structure(data):
76
errors = []
87

9-
108
if "board_id" in data:
119
if not isinstance(data["board_id"], int):
1210
errors.append(f"'board_id' debe ser un entero, pero se encontró: {type(data['board_id']).__name__}.")
@@ -15,13 +13,13 @@ def validate_json_structure(data):
1513
if not isinstance(data["board_ip"], str):
1614
errors.append(f"'board_ip' debe ser una cadena, pero se encontró: {type(data['board_ip']).__name__}.")
1715

18-
16+
1917
if "measurements" in data:
2018
if not isinstance(data["measurements"], list):
2119
errors.append("La clave 'measurements' debe ser una lista.")
2220
else:
2321
for measurement in data["measurements"]:
24-
if isinstance(measurement, dict):
22+
if isinstance(measurement, dict):
2523
required_keys = ["id", "name", "type", "podUnits", "displayUnits"]
2624
for key in required_keys:
2725
if key not in measurement:
@@ -40,17 +38,17 @@ def validate_json_structure(data):
4038
errors.append(f"El 'podUnits' debe ser una cadena en: {measurement}")
4139
if "podUnits" in measurement and not isinstance(measurement["podUnits"], str):
4240
errors.append(f"El 'podUnits' debe ser una cadena en: {measurement}") #esto se puede quitar (json 516)
43-
elif not isinstance(measurement, str):
41+
elif not isinstance(measurement, str):
4442
errors.append("Cada elemento en 'measurements' debe ser un objeto o una cadena (nombre de archivo).")
4543

46-
44+
4745
if "packets" in data:
4846
if not isinstance(data["packets"], list):
4947
errors.append("La clave 'packets' debe ser una lista.")
5048
else:
5149
for packet in data["packets"]:
52-
if isinstance(packet, dict):
53-
required_keys = ["id", "name", "type","variable"]
50+
if isinstance(packet, dict):
51+
required_keys = ["id", "name", "type","variable"]
5452
for key in required_keys:
5553
if key not in packet:
5654
errors.append(f"Falta la clave '{key}' en un objeto de 'packets'.")
@@ -69,7 +67,7 @@ def validate_json_structure(data):
6967
errors.append(f"Cada elemento en 'variables' debe ser un objeto en: {packet}")
7068
if "name" not in variable:
7169
errors.append(f"Falta la clave 'name' en un objeto de 'variables' en: {packet}")
72-
elif not isinstance(packet, str):
70+
elif not isinstance(packet, str):
7371
errors.append("Cada elemento en 'packets' debe ser un objeto o una cadena (nombre de archivo).")
7472

7573
return errors
@@ -78,19 +76,19 @@ def validate_json_structure(data):
7876

7977
def validate_json_folder(folder_path):
8078
boards_file_path = os.path.join(folder_path, "boards.json")
81-
79+
8280
try:
8381
with open(boards_file_path, 'r') as boards_file:
8482
boards_data = json.load(boards_file)
8583
boards = boards_data.get("boards", {})
86-
87-
84+
85+
8886
board_keys = list(boards.keys())
8987
duplicate_keys = [key for key in board_keys if board_keys.count(key) > 1]
90-
88+
9189
if duplicate_keys:
9290
print(f"Error: El archivo boards.json contiene claves duplicadas: {', '.join(duplicate_keys)}")
93-
return
91+
return
9492

9593
except json.JSONDecodeError as e:
9694
print(f"Error al decodificar JSON en {boards_file_path}: {e}")
@@ -99,7 +97,7 @@ def validate_json_folder(folder_path):
9997
print(f"Error al procesar el archivo {boards_file_path}: {e}")
10098
return
10199

102-
100+
103101
for board_name, board_file_path in boards.items():
104102
full_path = os.path.join(folder_path, board_file_path)
105103
try:
@@ -110,19 +108,14 @@ def validate_json_folder(folder_path):
110108
print(f"Errores encontrados en {full_path} para la placa '{board_name}':")
111109
for error in errors:
112110
print(f"- {error}")
113-
else:
114-
print(f"{full_path} para la placa '{board_name}' está bien estructurado.")
111+
115112
except json.JSONDecodeError as e:
116113
print(f"Error al decodificar JSON en {full_path}: {e}")
117114
except Exception as e:
118-
print(f"Error al procesar el archivo {full_path}: {e}")
119-
120-
115+
print(f"Error al procesar el archivo {full_path}: {e}")
121116

122117

123-
if os.path.exists('./JSON_ADE/'):
124-
print("La carpeta JSON_ADE existe")
125-
else:
118+
if os.path.exists('./JSON_ADE/') == False:
126119
print("La carpeta JSON_ADE no existe")
127120
if __name__ == "__main__":
128-
validate_json_folder("./JSON_ADE/")
121+
validate_json_folder("./JSON_ADE/")

0 commit comments

Comments
 (0)