131131
132132def _deep_merge_dict (base : dict , override : dict ) -> dict :
133133 """
134- Recursively merge two dictionaries.
134+ Recursively merge two dictionaries.
135135
136- Cette fonction permet de combiner une configuration de base avec des
137- valeurs personnalisées. Les dictionnaires imbriqués sont fusionnés
138- plutôt que remplacés, permettant une configuration modulaire.
136+ Cette fonction permet de combiner une configuration de base avec des
137+ valeurs personnalisées. Les dictionnaires imbriqués sont fusionnés
138+ plutôt que remplacés, permettant une configuration modulaire.
139139
140- Args:
141- base: Dictionnaire de configuration de base
142- override: Dictionnaire contenant les valeurs à surloadr
140+ Args:
141+ base: Dictionnaire de configuration de base
142+ override: Dictionnaire contenant les valeurs à surloadr
143143
144- Returns:
145- Un nouveau dictionnaire avec les valeurs fusionnées
146- """
144+ Returns:
145+ Un nouveau dictionnaire avec les valeurs fusionnées
146+ """
147147 result = base .copy ()
148148 for key , value in override .items ():
149149 if key in result and isinstance (result [key ], dict ) and isinstance (value , dict ):
@@ -157,25 +157,25 @@ def _deep_merge_dict(base: dict, override: dict) -> dict:
157157
158158def load_ark_config (workspace_dir : str ) -> dict [str , Any ]:
159159 """
160- Load ARK configuration from a YAML file.
160+ Load ARK configuration from a YAML file.
161161
162- Cette fonction recherche un file de configuration dans le workspace
163- selon un ordre de priorité prédéfini et fusionne la configuration
164- utilisateur avec les valeurs par défaut.
162+ Cette fonction recherche un file de configuration dans le workspace
163+ selon un ordre de priorité prédéfini et fusionne la configuration
164+ utilisateur avec les valeurs par défaut.
165165
166- Fichiers recherchés (ordre de priorité):
167- 1. ARK_Main_Config.yaml
168- 2. ARK_Main_Config.yml
169- 3. .ARK_Main_Config.yaml
170- 4. .ARK_Main_Config.yml
166+ Fichiers recherchés (ordre de priorité):
167+ 1. ARK_Main_Config.yaml
168+ 2. ARK_Main_Config.yml
169+ 3. .ARK_Main_Config.yaml
170+ 4. .ARK_Main_Config.yml
171171
172- Args:
173- workspace_dir: Path absolu vers le directory du workspace
172+ Args:
173+ workspace_dir: Path absolu vers le directory du workspace
174174
175- Returns:
176- Dictionnaire complet de configuration, incluant les valeurs par défaut
177- et les personnalisations utilisateur
178- """
175+ Returns:
176+ Dictionnaire complet de configuration, incluant les valeurs par défaut
177+ et les personnalisations utilisateur
178+ """
179179 import copy
180180
181181 # Commencer avec une copie complète de la configuration par défaut
@@ -283,41 +283,41 @@ def load_ark_config(workspace_dir: str) -> dict[str, Any]:
283283
284284def get_dependency_options (config : dict [str , Any ]) -> dict [str , Any ]:
285285 """
286- Return dependency management options.
286+ Return dependency management options.
287287
288- Returns:
289- Dictionnaire des options de dependencies
290- """
288+ Returns:
289+ Dictionnaire des options de dependencies
290+ """
291291 return config .get ("dependencies" , {})
292292
293293
294294def get_environment_manager_options (config : dict [str , Any ]) -> dict [str , Any ]:
295295 """
296- Return virtual environment manager options.
296+ Return virtual environment manager options.
297297
298- Returns:
299- Dictionary of environment manager options.
300- """
298+ Returns:
299+ Dictionary of environment manager options.
300+ """
301301 return config .get ("environment_manager" , {})
302302
303303
304304def get_build_options (config : dict [str , Any ]) -> dict [str , Any ]:
305305 """
306- Return build options.
306+ Return build options.
307307
308- Returns:
309- Dictionary of build options.
310- """
308+ Returns:
309+ Dictionary of build options.
310+ """
311311 return config .get ("build" , {})
312312
313313
314314def get_entrypoint (config : dict [str , Any ]) -> Optional [str ]:
315315 """
316- Return configured entry point.
316+ Return configured entry point.
317317
318- Returns:
319- Path relatif du point d'entrée ou None
320- """
318+ Returns:
319+ Path relatif du point d'entrée ou None
320+ """
321321 build_opts = get_build_options (config )
322322 if not isinstance (build_opts , dict ):
323323 return None
@@ -327,15 +327,15 @@ def get_entrypoint(config: dict[str, Any]) -> Optional[str]:
327327
328328def save_ark_config (workspace_dir : str , config : dict [str , Any ]) -> bool :
329329 """
330- Save ARK configuration to ARK_Main_Config.yml.
330+ Save ARK configuration to ARK_Main_Config.yml.
331331
332- Args:
333- workspace_dir: Path du workspace
334- config: Configuration complète à enregistrer
332+ Args:
333+ workspace_dir: Path du workspace
334+ config: Configuration complète à enregistrer
335335
336- Returns:
337- True si success, False sinon
338- """
336+ Returns:
337+ True si success, False sinon
338+ """
339339 if not workspace_dir or not isinstance (config , dict ):
340340 return False
341341 try :
@@ -356,15 +356,15 @@ def save_ark_config(workspace_dir: str, config: dict[str, Any]) -> bool:
356356
357357def set_entrypoint (workspace_dir : str , entrypoint : Optional [str ]) -> bool :
358358 """
359- Update entry point in ARK_Main_Config.yml.
359+ Update entry point in ARK_Main_Config.yml.
360360
361- Args:
362- workspace_dir: Path du workspace
363- entrypoint: Path relatif du point d'entrée (ou None pour clearr)
361+ Args:
362+ workspace_dir: Path du workspace
363+ entrypoint: Path relatif du point d'entrée (ou None pour clearr)
364364
365- Returns:
366- True si success, False sinon
367- """
365+ Returns:
366+ True si success, False sinon
367+ """
368368 if not workspace_dir :
369369 return False
370370 cfg = load_ark_config (workspace_dir )
@@ -382,12 +382,12 @@ def set_entrypoint(workspace_dir: str, entrypoint: Optional[str]) -> bool:
382382
383383def _normalize_exclusion_pattern (pattern : str ) -> str :
384384 """
385- Normalize exclusion pattern for reliable cross-platform matching.
385+ Normalize exclusion pattern for reliable cross-platform matching.
386386
387- - Convertit les séparateurs Windows en "/"
388- - Retire le préfixe "./"
389- - Si le pattern se termine par "/", on l'étend à "/**"
390- """
387+ - Convertit les séparateurs Windows en "/"
388+ - Retire le préfixe "./"
389+ - Si le pattern se termine par "/", on l'étend à "/**"
390+ """
391391 p = str (pattern ).strip ()
392392 if not p :
393393 return ""
@@ -403,20 +403,20 @@ def should_exclude_file(
403403 file_path : str , workspace_dir : str , exclusion_patterns : Optional [list [str ]]
404404) -> bool :
405405 """
406- Determine whether a file must be excluded from compilation.
406+ Determine whether a file must be excluded from compilation.
407407
408- Compare file path with configured exclusion patterns. The function
409- normalizes separators and combines `Path.match()` with `fnmatch` to
410- support glob patterns like `**` in a cross-platform way.
408+ Compare file path with configured exclusion patterns. The function
409+ normalizes separators and combines `Path.match()` with `fnmatch` to
410+ support glob patterns like `**` in a cross-platform way.
411411
412- Args:
413- file_path: Absolute file path to check.
414- workspace_dir: Absolute workspace path.
415- exclusion_patterns: List of exclusion patterns.
412+ Args:
413+ file_path: Absolute file path to check.
414+ workspace_dir: Absolute workspace path.
415+ exclusion_patterns: List of exclusion patterns.
416416
417- Returns:
418- `True` when file must be excluded, otherwise `False`.
419- """
417+ Returns:
418+ `True` when file must be excluded, otherwise `False`.
419+ """
420420 try :
421421 if not file_path or not workspace_dir :
422422 return False
@@ -482,19 +482,19 @@ def should_exclude_file(
482482
483483def create_default_ark_config (workspace_dir : str ) -> bool :
484484 """
485- Create ARK_Main_Config.yml with default configuration.
485+ Create ARK_Main_Config.yml with default configuration.
486486
487- Cette fonction génère un file de configuration complet avec
488- toutes les options disponibles et leurs valeurs par défaut.
489- Elle ne remplace pas un file existant.
487+ Cette fonction génère un file de configuration complet avec
488+ toutes les options disponibles et leurs valeurs par défaut.
489+ Elle ne remplace pas un file existant.
490490
491- Args:
492- workspace_dir: Path du directory du workspace
491+ Args:
492+ workspace_dir: Path du directory du workspace
493493
494- Returns:
495- True si le file a été créé avec success, False s'il existe déjà
496- ou si une erreur s'est produite
497- """
494+ Returns:
495+ True si le file a été créé avec success, False s'il existe déjà
496+ ou si une erreur s'est produite
497+ """
498498 if not workspace_dir :
499499 return False
500500
0 commit comments