feat: Process JSON entries to extract media part info

This commit is contained in:
Tanner Collin (aider) 2025-05-22 19:09:27 -06:00
parent a53bc6e195
commit 7c48b67132

View File

@ -50,6 +50,65 @@ def main():
# Ensure response_text is not None (it can be an empty string for 0-byte files)
data[key_from_query_param] = response_text
# Second loop to process JSON entries
for entry in entries:
response = entry.get('response', {})
content = response.get('content', {})
mime_type = content.get('mimeType', '')
# Check if the mimeType indicates JSON
if 'json' not in mime_type.lower(): # Make check case-insensitive and broader
continue
response_text = content.get('text')
if not response_text:
continue
try:
json_data = json.loads(response_text)
except json.JSONDecodeError:
# If JSON parsing fails, skip this entry
continue
media_container = json_data.get('MediaContainer', {})
metadata_array = media_container.get('Metadata', [])
if not isinstance(metadata_array, list):
continue # Skip if Metadata is not a list
for metadata_element in metadata_array:
if not isinstance(metadata_element, dict):
continue # Skip if metadata_element is not a dict
media_array = metadata_element.get('Media', [])
if not isinstance(media_array, list):
continue # Skip if Media is not a list
for media_element in media_array:
if not isinstance(media_element, dict):
continue # Skip if media_element is not a dict
part_array = media_element.get('Part', [])
if not isinstance(part_array, list):
continue # Skip if Part is not a list
for part_element in part_array:
if not isinstance(part_element, dict):
continue # Skip if part_element is not a dict
# Save 'key' and 'file' values to variables
# These variables will be overwritten in each iteration
# if multiple parts exist.
part_key = part_element.get('key')
part_file = part_element.get('file')
# At this point, part_key and part_file are available.
# The user has not specified what to do with them yet.
# For example, to print them:
# if part_key and part_file:
# print(f"Found part: key='{part_key}', file='{part_file}'")
print("\nProcessed data (truncated values):")
if not data:
print("No data was processed and stored.")