feat: Process JSON entries to extract media part info
This commit is contained in:
parent
a53bc6e195
commit
7c48b67132
|
@ -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.")
|
||||
|
|
Loading…
Reference in New Issue
Block a user