19 lines
649 B
Python
19 lines
649 B
Python
"""Choisit la couche système selon la plateforme."""
|
|
import sys
|
|
|
|
|
|
def choisir_systeme(plateforme=None):
|
|
"""Rend l'implémentation du contrat Systeme pour cette machine.
|
|
|
|
`plateforme` est injectable pour tester les branches absentes de la machine
|
|
de développement.
|
|
"""
|
|
plateforme = plateforme or sys.platform
|
|
if plateforme.startswith("darwin"):
|
|
from systeme.macos import SystemeMacOS
|
|
return SystemeMacOS()
|
|
if plateforme.startswith("win32"):
|
|
from systeme.windows import SystemeWindows
|
|
return SystemeWindows()
|
|
raise NotImplementedError(f"Plateforme non prise en charge : {plateforme}")
|