code: def add_location(self, location):
          
          if type(location) is dict:
              self.locations.append(location)
              self._media_files.append(None)
              return
          elif type(location) in (str,) + _OLD_STR_TYPES:
              f = open(location, 'rb')
          else:
              f = location
  
          try:
              media_data = f.read()
              if MEDIA_TYPE_DETECTION == 'magic':
                  media_type = magic.from_buffer(media_data, mime=True)
              else:
                  media_type = imghdr.what(None, media_data)
                  if not media_type:
                      raise UnknownMediaException(
                          'Could not detect file type. Please try installing '
                          'libmagic: https://panoptes-python-client.readthedocs.'
                          'io/en/latest/user_guide.html#uploading-non-image-'
                          'media-types'
                      )
                  media_type = 'image/{}'.format(media_type)
              self.locations.append(media_type)
              self._media_files.append(media_data)
          finally:
              f.close()
docs: Add a media location to this subject.
  
          - **location** can be an open :py:class:`file` object, a path to a
            local file, or a :py:class:`dict` containing MIME types and URLs for
            remote media.
  
          Examples::
  
              subject.add_location(my_file)
              subject.add_location('/data/image.jpg')
              subject.add_location({'image/png': 'https://example.com/image.png'})