Coverage for lode / exceptions.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-10-05 16:02 +0000

1from datetime import datetime, timezone 

2import uuid 

3 

4class LODEError(Exception): 

5 """Base exception. All LODE errors inherit this exception""" 

6 

7 def __init__(self, message: str, context: dict = None): 

8 super().__init__(message) 

9 self.context = context or {} 

10 self.timestamp = datetime.now(timezone.utc).isoformat() 

11 self.request_id = str(uuid.uuid4()) 

12 

13class ArtefactLoadError(LODEError): 

14 """Artefatto raggiunto ma non parsabile in nessun formato RDF.""" 

15 pass 

16 

17class ArtefactNotFoundError(LODEError): 

18 """Artefatto risponde 404 o errore di rete.""" 

19 pass 

20 

21class ArtefactUnavailableError(LODEError): 

22 """Host remoto raggiunto ma in errore server (5xx): l'artefatto puo' esistere, 

23 e' il servizio a essere temporaneamente non disponibile.""" 

24 pass 

25 

26class ArtefactValidationError(LODEError): 

27 """Artefatto rifiutato dai security check (size, estensione, scheme/SSRF, non testo).""" 

28 pass