Skip to content

Commit e72709c

Browse files
authored
Merge pull request #1370 from icecraft/fix/path_delimiter
fix: s3 path join method
2 parents 667b1a3 + d637dab commit e72709c

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

magic_pdf/data/data_reader_writer/multi_bucket_s3.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import os
1+
22
from magic_pdf.config.exceptions import InvalidConfig, InvalidParams
33
from magic_pdf.data.data_reader_writer.base import DataReader, DataWriter
44
from magic_pdf.data.io.s3 import S3Reader, S3Writer
@@ -22,10 +22,10 @@ def __init__(self, default_prefix: str, s3_configs: list[S3Config]):
2222
"""
2323
if len(default_prefix) == 0:
2424
raise InvalidConfig('default_prefix must be provided')
25-
26-
arr = default_prefix.strip("/").split("/")
25+
26+
arr = default_prefix.strip('/').split('/')
2727
self.default_bucket = arr[0]
28-
self.default_prefix = "/".join(arr[1:])
28+
self.default_prefix = '/'.join(arr[1:])
2929

3030
found_default_bucket_config = False
3131
for conf in s3_configs:
@@ -103,7 +103,8 @@ def read_at(self, path: str, offset: int = 0, limit: int = -1) -> bytes:
103103
s3_reader = self.__get_s3_client(bucket_name)
104104
else:
105105
s3_reader = self.__get_s3_client(self.default_bucket)
106-
path = os.path.join(self.default_prefix, path)
106+
if self.default_prefix:
107+
path = self.default_prefix + '/' + path
107108
return s3_reader.read_at(path, offset, limit)
108109

109110

@@ -139,5 +140,6 @@ def write(self, path: str, data: bytes) -> None:
139140
s3_writer = self.__get_s3_client(bucket_name)
140141
else:
141142
s3_writer = self.__get_s3_client(self.default_bucket)
142-
path = os.path.join(self.default_prefix, path)
143+
if self.default_prefix:
144+
path = self.default_prefix + '/' + path
143145
return s3_writer.write(path, data)

0 commit comments

Comments
 (0)