Skip to content

Commit b725af9

Browse files
committed
Added get_remote_url function in FileEntity class which will return the uploaded file url
1 parent d720424 commit b725af9

4 files changed

Lines changed: 21 additions & 12 deletions

File tree

src/example.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,13 @@ def process(message):
6060
basename = 'sample-file'
6161
suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
6262
filename = '_'.join([basename, suffix])
63-
test_file = container.create_file(f'{filename}.txt', 'text/plain')
63+
try:
64+
test_file = container.create_file(f'{filename}.txt')
65+
except Exception as e:
66+
print(e)
6467
print('Start uploading...')
6568
test_file.upload(file_like_io.read())
69+
print(test_file.get_remote_url())
6670
print('Uploaded Successfully')
6771

6872
logger = Core.get_logger()

src/python_ms_core/core/storage/abstract/file_entity.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@
33

44
class FileEntity(ABC):
55
name = ''
6-
mimetype = 'text/plain'
76
file_path = ''
87

98
@abstractmethod
10-
def __init__(self, name: str, mimetype: str = 'text/plain'):
9+
def __init__(self, name: str):
1110
self.name = name
12-
self.mimetype = mimetype
1311
self.file_path = name
1412
pass
1513

@@ -24,3 +22,7 @@ def get_body_text(self):
2422
@abstractmethod
2523
def upload(self, upload_stream):
2624
pass
25+
26+
@abstractmethod
27+
def get_remote_url(self):
28+
pass

src/python_ms_core/core/storage/providers/azure/azure_file_entity.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
class AzureFileEntity(file_entity.FileEntity):
66
blob_client = BlobClient
77

8-
def __init__(self, name, mimetype, blob_client):
9-
super().__init__(name, mimetype)
8+
def __init__(self, name, blob_client):
9+
super().__init__(name)
1010
self.blob_client = blob_client
11+
self._get_remote_url = None
1112

1213
def get_stream(self):
1314
return self.blob_client.download_blob().readall()
@@ -16,4 +17,8 @@ def get_body_text(self):
1617
return self.blob_client.download_blob().content_as_text()
1718

1819
def upload(self, upload_stream):
19-
self.blob_client.upload_blob(self.file_path, upload_stream)
20+
upload_file = self.blob_client.upload_blob(self.file_path, upload_stream)
21+
self._get_remote_url = upload_file.url
22+
23+
def get_remote_url(self):
24+
return self._get_remote_url

src/python_ms_core/core/storage/providers/azure/azure_storage_container.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ def list_files(self):
1515
files_list = [azure_file_entity.AzureFileEntity]
1616
for single_item in blob_iterator:
1717
blob_client = self.container_client.get_blob_client(single_item.name)
18-
files_list.append(
19-
azure_file_entity.AzureFileEntity(single_item.name, single_item.content_settings.content_type,
20-
blob_client=blob_client))
18+
files_list.append(azure_file_entity.AzureFileEntity(single_item.name, blob_client=blob_client))
2119
return files_list
2220

23-
def create_file(self, name, mimetype):
24-
return azure_file_entity.AzureFileEntity(name, mimetype, self.container_client)
21+
def create_file(self, name):
22+
return azure_file_entity.AzureFileEntity(name, self.container_client)

0 commit comments

Comments
 (0)