diff --git a/rocrate/model/data_entity.py b/rocrate/model/data_entity.py index 4441875d..573f08a6 100644 --- a/rocrate/model/data_entity.py +++ b/rocrate/model/data_entity.py @@ -1,5 +1,4 @@ #!/usr/bin/env python -from typing import Generator # Copyright 2019-2024 The University of Manchester, UK # Copyright 2020-2024 Vlaams Instituut voor Biotechnologie (VIB), BE @@ -30,7 +29,7 @@ class DataEntity(Entity): def write(self, base_path): pass - def stream(self, chunk_size=8192) -> Generator[tuple[str, bytes], None, None]: + def stream(self, chunk_size=8192): """ Stream the data from the source. Each chunk of the content is yielded as a tuple containing the name of the destination file relative to the crate and the chunk of data. The destination file name is required because a DataEntity can be a file or a diff --git a/rocrate/model/dataset.py b/rocrate/model/dataset.py index 0d047ddb..b2aaaf91 100644 --- a/rocrate/model/dataset.py +++ b/rocrate/model/dataset.py @@ -24,7 +24,6 @@ import os import warnings from pathlib import Path -from typing import Generator from urllib.request import urlopen from .file_or_dir import FileOrDir @@ -82,7 +81,7 @@ def write(self, base_path): else: self._copy_folder(base_path) - def stream(self, chunk_size=8192) -> Generator[tuple[str, bytes], None, None]: + def stream(self, chunk_size=8192): if self.source is None: return elif is_url(str(self.source)): diff --git a/rocrate/model/file.py b/rocrate/model/file.py index 72b2c808..177c7f34 100644 --- a/rocrate/model/file.py +++ b/rocrate/model/file.py @@ -1,4 +1,5 @@ #!/usr/bin/env python + # Copyright 2019-2024 The University of Manchester, UK # Copyright 2020-2024 Vlaams Instituut voor Biotechnologie (VIB), BE # Copyright 2020-2024 Barcelona Supercomputing Center (BSC), ES @@ -21,7 +22,6 @@ from pathlib import Path import requests -from typing import Generator import shutil import urllib.request @@ -125,7 +125,7 @@ def _stream_from_file(self, path, chunk_size=8192): if self.record_size: self._jsonld['contentSize'] = str(size) - def stream(self, chunk_size=8192) -> Generator[tuple[str, bytes], None, None]: + def stream(self, chunk_size=8192): if isinstance(self.source, (BytesIO, StringIO)): yield from self._stream_from_stream(self.source) elif is_url(str(self.source)): diff --git a/rocrate/model/metadata.py b/rocrate/model/metadata.py index 2523a045..2703e8f0 100644 --- a/rocrate/model/metadata.py +++ b/rocrate/model/metadata.py @@ -22,7 +22,6 @@ import json from pathlib import Path -from typing import Generator from .file import File from .dataset import Dataset @@ -75,7 +74,7 @@ def generate(self): context = context[0] return {'@context': context, '@graph': graph} - def stream(self, chunk_size=8192) -> Generator[tuple[str, bytes], None, None]: + def stream(self, chunk_size=8192): content = self.generate() yield self.id, str.encode(json.dumps(content, indent=4, sort_keys=True), encoding='utf-8') diff --git a/rocrate/model/preview.py b/rocrate/model/preview.py index da5d4866..9f4d6e97 100644 --- a/rocrate/model/preview.py +++ b/rocrate/model/preview.py @@ -22,7 +22,6 @@ import os from pathlib import Path -from typing import Generator from jinja2 import Template from .file import File @@ -91,7 +90,7 @@ def is_object_list(a): out_html = src.render(crate=self.crate, context=context_entities, data=data_entities) return out_html - def stream(self, chunk_size=8192) -> Generator[tuple[str, bytes], None, None]: + def stream(self, chunk_size=8192): if self.source: yield from super().stream() else: