code: def parse_entry(self, soup):
      
      # parse the media object first.
      media_attrs = self.parse_entry_media_attributes(soup)
      media_id = media_attrs[u'id']
      del media_attrs[u'id']
      media = getattr(self.session, self.type)(media_id).set(media_attrs)
  
      entry_info = {}
      try:
        entry_info[u'started'] = utilities.parse_profile_date(soup.find(u'my_start_date').text)
      except ValueError:
        entry_info[u'started'] = None
      except:
        if not self.session.suppress_parse_exceptions:
          raise
  
      try:
        entry_info[u'finished'] = utilities.parse_profile_date(soup.find(u'my_finish_date').text)
      except ValueError:
        entry_info[u'finished'] = None
      except:
        if not self.session.suppress_parse_exceptions:
          raise
  
      try:
        entry_info[u'status'] = self.user_status_terms[int(soup.find(u'my_status').text)]
      except:
        if not self.session.suppress_parse_exceptions:
          raise
  
      try:
        entry_info[u'score'] = int(soup.find(u'my_score').text)
        # if user hasn't set a score, set it to None to indicate as such.
        if entry_info[u'score'] == 0:
          entry_info[u'score'] = None
      except:
        if not self.session.suppress_parse_exceptions:
          raise
  
      try:
        entry_info[u'last_updated'] = datetime.datetime.fromtimestamp(int(soup.find(u'my_last_updated').text))
      except:
        if not self.session.suppress_parse_exceptions:
          raise
  
      return media,entry_info
docs: Given:
          soup: a bs4 element containing a row from the current media list
  
        Return a tuple:
          (media object, dict of this row's parseable attributes)