def parse_stats(self, soup):
    """
      Given:
        soup: a bs4 element containing the current media list's stats
        
      Return a dict of this media list's stats.
    """
    stats = {}
    for row in soup.children:
      try:
        key = row.name.replace(u'user_', u'')
        if key == u'id':
          stats[key] = int(row.text)
        elif key == u'name':
          stats[key] = row.text
        elif key == self.verb + u'ing':
          try:
            stats[key] = int(row.text)
          except ValueError:
            stats[key] = 0
        elif key == u'completed':
          try:
            stats[key] = int(row.text)
          except ValueError:
            stats[key] = 0
        elif key == u'onhold':
          try:
            stats['on_hold'] = int(row.text)
          except ValueError:
            stats[key] = 0
        elif key == u'dropped':
          try:
            stats[key] = int(row.text)
          except ValueError:
            stats[key] = 0
        elif key == u'planto' + self.verb:
          try:
            stats[u'plan_to_' + self.verb] = int(row.text)
          except ValueError:
            stats[key] = 0
        # for some reason, MAL doesn't substitute 'read' in for manga for the verb here
        elif key == u'days_spent_watching':
          try:
            stats[u'days_spent'] = decimal.Decimal(row.text)
          except decimal.InvalidOperation:
            stats[key] = decimal.Decimal(0)
      except:
        if not self.session.suppress_parse_exceptions:
          raise
    return stats
Given:
        soup: a bs4 element containing the current media list's stats
        
      Return a dict of this media list's stats.