in infra-as-code/modules/audio-data-format-change/function-source-code/lib.py [0:0]
def download_from_gcs(self):
"""Downloads a specific the triggering blob from the trigger bucket in GCS
and stores it in a temporary file which is renamed by assigning an UUID
Returns:
string: New filename assigned to the downloaded blob
"""
print('Starting download')
encoding = hashlib.sha256
trigger_file = self.get_folder_and_filename(self.raw_audio_file_name)
self.raw_audio_file_extension = trigger_file.split('.')[-1]
new_uuid = str(uuid.uuid4())
new_filename = f'{new_uuid}.{self.raw_audio_file_extension}'
self.metadata['original_file_name'] = hmac.new(self.hash_key, trigger_file.encode(), encoding).hexdigest()
self.metadata['conversation_id']= new_uuid
filename = f'/tmp/{new_filename}'
print(f'Filename: {self.raw_audio_file_name}. File extension: {self.raw_audio_file_extension}')
try:
bucket = self.storage_client.bucket(self.raw_audio_bucket_id)
blob = bucket.blob(self.raw_audio_file_name)
blob.download_to_filename(filename)
print(f'Blob {self.raw_audio_file_name} downloaded to {filename}')
except Exception as e:
raise e
return new_filename, trigger_file