from sqlite3 import Row
from datetime import datetime
from plomtask.db import DatabaseConnection
+from plomtask.exceptions import NotFoundException
class Process:
return list(processes.values())
@classmethod
- def by_id(cls, db_conn: DatabaseConnection,
- id_: int | None, create: bool = False) -> Process | None:
+ def by_id(cls, db_conn: DatabaseConnection, id_: int | None,
+ create: bool = False) -> Process:
"""Collect all Processes and their connected VersionedAttributes."""
process = None
for row in db_conn.exec('SELECT * FROM processes '
'WHERE id = ?', (id_,)):
process = cls(row[0])
break
- if create and not process:
+ if not process:
+ if not create:
+ raise NotFoundException(f'Process not found of id: {id_}')
process = Process(id_)
if process:
for row in db_conn.exec('SELECT * FROM process_titles '