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

1# SPDX-FileCopyrightText: 2023-2026 Arcangelo Massari <arcangelo.massari@unibo.it> 

2# 

3# SPDX-License-Identifier: ISC 

4 

5from abc import ABCMeta, abstractmethod 

6 

7 

8class DataSource(metaclass=ABCMeta): 

9 def __init__(self, service: str) -> None: 

10 self._service = service 

11 

12 def new(self) -> dict[str, object]: 

13 return {"date": None, "valid": False, "issn": [], "orcid": []} 

14 

15 @abstractmethod 

16 def get(self, resource_id: str) -> object: 

17 pass 

18 

19 @abstractmethod 

20 def mget(self, resources_id: list[str]) -> list[object]: 

21 pass 

22 

23 @abstractmethod 

24 def set(self, resource_id: str, value: object) -> object: 

25 pass 

26 

27 @abstractmethod 

28 def mset(self, resources: dict[str, object]) -> object: 

29 pass