docs: def _load_calendar(campus, resp_fragment, calendar_dict, parent):
      """
      :return: a dictionary of {calenderid, TrumbaCalendar}
               None if error, {} if not exists
      """
      for record in resp_fragment:
          if re.match(r'Internal Event Actions', record['Name']) or\
                  re.match(r'Migrated .*', record['Name']):
              continue
          trumba_cal = TrumbaCalendar()
          trumba_cal.calendarid = record['ID']
          trumba_cal.campus = campus
          if parent is None:
              trumba_cal.name = record['Name']
          else:
              trumba_cal.name = "%s >> %s" % (parent, record['Name'])
  
          if not _is_valid_calendarid(record['ID']):
              logger.warn(
                  "InvalidCalendarId %s, entry skipped!" % trumba_cal)
              continue
  
          calendar_dict[trumba_cal.calendarid] = trumba_cal
          if record['ChildCalendars'] is not None and\
                  len(record['ChildCalendars']) > 0:
              _load_calendar(campus,
                             record['ChildCalendars'],
                             calendar_dict,
                             trumba_cal.name)