Skip to content

Commit 0bf4d54

Browse files
refactor code
1 parent 997c451 commit 0bf4d54

File tree

2 files changed

+9
-18
lines changed

2 files changed

+9
-18
lines changed

airbyte_cdk/sources/file_based/file_based_file_transfer_reader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def source_file_relative_path(self) -> str:
5757
...
5858

5959
@property
60-
def file_uri_for_logging(self):
60+
def file_uri_for_logging(self) -> str:
6161
"""
6262
Returns the URI for the file being logged.
6363
"""

airbyte_cdk/sources/file_based/file_based_stream_reader.py

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from enum import Enum
1010
from io import IOBase
1111
from os import makedirs, path
12-
from typing import Any, Callable, Iterable, List, MutableMapping, Optional, Set, Tuple
12+
from typing import Any, Callable, Iterable, List, MutableMapping, Optional, Set, Tuple, Type
1313

1414
from airbyte_protocol_dataclasses.models import FailureType
1515
from wcmatch.glob import GLOBSTAR, globmatch
@@ -43,10 +43,9 @@ class AbstractFileBasedStreamReader(ABC):
4343

4444
def __init__(self) -> None:
4545
self._config = None
46-
4746
if (
4847
self.file_transfer_reader_class is None
49-
and self.upload.__func__ == AbstractFileBasedStreamReader.upload
48+
and type(self).upload is AbstractFileBasedStreamReader.upload
5049
):
5150
raise NotImplementedError(
5251
"One of file_transfer_reader_class or upload method must be defined to support file transfer."
@@ -127,16 +126,6 @@ def filter_files_by_globs_and_start_date(
127126
seen.add(file.uri)
128127
yield file
129128

130-
@abstractmethod
131-
def file_size(self, file: RemoteFile) -> int:
132-
"""Utility method to get size of the remote file.
133-
134-
This is required for connectors that will support writing to
135-
files. If the connector does not support writing files, then the
136-
subclass can simply `return 0`.
137-
"""
138-
...
139-
140129
@staticmethod
141130
def file_matches_globs(file: RemoteFile, globs: List[str]) -> bool:
142131
# Use the GLOBSTAR flag to enable recursive ** matching
@@ -168,7 +157,7 @@ def include_identities_stream(self) -> bool:
168157
return False
169158

170159
@property
171-
def file_transfer_reader_class(self) -> AbstractFileBasedFileTransferReader | None:
160+
def file_transfer_reader_class(self) -> Type[AbstractFileBasedFileTransferReader] | None:
172161
return None
173162

174163
def upload(
@@ -190,14 +179,16 @@ def upload(
190179
- file_size_bytes (int): The size of the referenced file in bytes.
191180
- source_file_relative_path (str): The relative path to the referenced file in source.
192181
"""
193-
# if self.file_transfer_reader_class is None and self.upload.__func__ == AbstractFileBasedStreamReader.upload:
194-
# raise NotImplementedError("One of file_transfer_reader_class or upload method must be defined to support file transfer.")
182+
if self.file_transfer_reader_class is None:
183+
raise NotImplementedError(
184+
"file_transfer_reader_class must be defined to support default file transfer upload method."
185+
)
195186

196187
file_transfer = self.file_transfer_reader_class(file)
197188
file_size = file_transfer.file_size
198189

199190
if file_size > file_transfer.FILE_SIZE_LIMIT:
200-
message = "File size exceeds the 1 GB limit."
191+
message = "File size exceeds the 1.5 GB limit."
201192
raise FileSizeLimitError(
202193
message=message, internal_message=message, failure_type=FailureType.config_error
203194
)

0 commit comments

Comments
 (0)