Code source de Grounded.ScaleBarLoader

from Grounded.DataObject import ScaleBar, Mire

import csv


[docs] class ScaleBarLoader: """ Classe permettant le chargement des réglets à partir d'un fichier csv """
[docs] @staticmethod def load(scale_bar_file_path: str) -> list[ScaleBar]: """ Chargement des scales bars contenus dans le fichier fourni en paramètre Args: scale_bar_file_path: chemin vers le fichier contenant les scales bars Returns: list[ScaleBar]: Une liste de data object ScaleBar """ array_scale_bar = list() with open(scale_bar_file_path, newline='') as csvfile: lecteur_csv = csv.reader(csvfile, delimiter=',') next(lecteur_csv) for line in lecteur_csv: if len(line) == 3: try: array_scale_bar.append(ScaleBar(Mire(int(line[0])), Mire(int(line[1])), float(line[2]))) except ValueError: raise SyntaxError("invalid scale bar format") return array_scale_bar