docs: def get_channel_property(self, channel_id, property_name):
          '''This function returns the data stored under the property name from
          the given channel.
  
          Parameters
          ----------
          channel_id: int
              The channel id for which the property will be returned
          property_name: str
              A property stored by the RecordingExtractor (location, etc.)
  
          Returns
          ----------
          property_data
              The data associated with the given property name. Could be many
              formats as specified by the user.
          '''
          if isinstance(channel_id, (int, np.integer)):
              if channel_id in self.get_channel_ids():
                  if channel_id not in self._channel_properties:
                      self._channel_properties[channel_id] = {}
                  if isinstance(property_name, str):
                      if property_name in list(self._channel_properties[channel_id].keys()):
                          return self._channel_properties[channel_id][property_name]
                      else:
                          raise ValueError(str(property_name) + " has not been added to channel " + str(channel_id))
                  else:
                      raise ValueError(str(property_name) + " must be a string")
              else:
                  raise ValueError(str(channel_id) + " is not a valid channel_id")
          else:
              raise ValueError(str(channel_id) + " must be an int")