code: def human_to_seconds(string):
      
      interval_exc = "Bad interval format for {0}".format(string)
  
      interval_regex = re.compile("^(?P<value>[0-9]+)(?P<unit>[{0}])".format("".join(interval_dict.keys())))
      seconds = 0
  
      if string is None:
          return None
      while string:
          match = interval_regex.match(string)
          if match:
              value, unit = int(match.group("value")), match.group("unit")
              if unit in interval_dict:
                  seconds += value * interval_dict[unit]
                  string = string[match.end():]
              else:
                  raise Exception("'{0}' unit not present in {1}".format(
                      unit, interval_dict.keys()))
          else:
              raise Exception(interval_exc)
      return seconds
docs: Convert internal string like 1M, 1Y3M, 3W to seconds.
  
      :type string: str
      :param string: Interval string like 1M, 1W, 1M3W4h2s...
                     (s => seconds, m => minutes, h => hours, D => days, W => weeks, M => months, Y => Years).
  
      :rtype: int
      :return: The conversion in seconds of string.