Convert durations to ISO8601 format (podcast episodes) #1317
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
What are the relevant tickets?
Closes https://github.com/mitodl/hq/issues/4432
Description (What does it do?)
Converts podcast episode duration (if present) to ISO-8601 format.
How can this be tested?
./manage.py backpopulate_podcast_dataPodcastEpisodeobjects should have a duration that starts with "PT" or be null.Additional Context
There are some python libraries to output durations in 8601 format (isodate, isodate2) but neither have been updated since late 2021 so I decided to roll my own function.
I placed the
iso8601_durationfunction inetl.utilsrather thanetl.podcastsjust in case we might want to use it for something other than podcast episodes. For example, maybe videos if we ever start ingesting them from somewhere other than Youtube (where it is already in ISO-8601 format).