code: def parse_repeating_time_interval_to_days(date_str):
      
  
      intervals = {
          'Y': 365,
          'M': 30,
          'W': 7,
          'D': 1,
          'H': 0,
          'S': 0
      }
  
      if date_str.find('R/P') != 0:  # Periodicity mal formada
          return 0
  
      date_str = date_str.strip('R/P')
      days = 0
      index = 0
      for interval in intervals:
          value_end = date_str.find(interval)
          if value_end < 0:
              continue
          try:
              days += int(float(date_str[index:value_end]) * intervals[interval])
          # Valor de accrualPeriodicity inválido, se toma como 0
          except ValueError:
              continue
          index = value_end
  
      # Si el número de días es menor lo redondeamos a 1
      return max(days, 1)
docs: Parsea un string con un intervalo de tiempo con repetición especificado
      por la norma ISO 8601 en una cantidad de días que representa ese intervalo.
      Devuelve 0 en caso de que el intervalo sea inválido.