Coverage for oc_ds_converter / datasource / datasource.py: 67%
18 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-25 18:06 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-25 18:06 +0000
1# SPDX-FileCopyrightText: 2023-2026 Arcangelo Massari <arcangelo.massari@unibo.it>
2#
3# SPDX-License-Identifier: ISC
5from abc import ABCMeta, abstractmethod
8class DataSource(metaclass=ABCMeta):
9 def __init__(self, service: str) -> None:
10 self._service = service
12 def new(self) -> dict[str, object]:
13 return {"date": None, "valid": False, "issn": [], "orcid": []}
15 @abstractmethod
16 def get(self, resource_id: str) -> object:
17 pass
19 @abstractmethod
20 def mget(self, resources_id: list[str]) -> list[object]:
21 pass
23 @abstractmethod
24 def set(self, resource_id: str, value: object) -> object:
25 pass
27 @abstractmethod
28 def mset(self, resources: dict[str, object]) -> object:
29 pass