"""Tidal Packager.""" import os from datetime import datetime from src.packagers.ddex38 import DDEX38Packager from src.utils import images class TidalPackager(DDEX38Packager): """Tidal specific package functions.""" dms_id = 399 def transform_image(self, image_location): """Format image specifically for this dms.""" output_location = os.path.splitext(image_location)[0] + '.jpg' images.transform( image_location, 3000, 3000, 'JPEG', output_location ) return output_location def output_trigger_filename(self, base_path): """DMS specific trigger file.""" batch_id = base_path.split('/')[1] return f'BatchComplete_{batch_id}.xml' def output_base_path(self, job_id, spatial_upc, stereo_upc): """DMS specfic upload dir.""" date_part = datetime.now().strftime('%Y%m%d%H%M%S') return f'{job_id}/{date_part}001' def output_metadata_filepath(self, base, upc): """DMS specific metadata upload location.""" return f'{base}/{upc}/{upc}.xml' def output_image_filepath(self, base, upc): """DMS specific image upload location.""" return f'{base}/{upc}/resources/{upc}.jpg' def output_audio_path(self, base, upc): """DMS specific audio upload location.""" return f'{base}/{upc}/resources'