code: def AsDict(self, dt=True):
          
          data = {}
  
          if self.sharekey:
              data['sharekey'] = self.sharekey
          if self.name:
              data['name'] = self.name
          if self.user:
              data['user'] = self.user.AsDict()
          if self.title:
              data['title'] = self.title
          if self.description:
              data['description'] = self.description
          if self.posted_at:
              if dt:
                  data['posted_at'] = self.posted_at
              else:
                  data['posted_at'] = self.posted_at_iso
          if self.permalink:
              data['permalink'] = self.permalink
          if self.width:
              data['width'] = self.width
          if self.height:
              data['height'] = self.height
          if self.image_url:
              data['image_url'] = self.image_url
          if self.source_url:
              data['source_url'] = self.source_url
          data['views'] = self.views
          data['likes'] = self.likes
          data['saves'] = self.saves
          data['comments'] = self.comments
          data['nsfw'] = self.nsfw
          data['saved'] = self.saved
          data['liked'] = self.liked
  
          return data
docs: A dict representation of this Shake instance.
  
          The return value uses the same key names as the JSON representation.
  
          Args:
              dt (bool): If True, return dates as python datetime objects. If
                  False, return dates as ISO strings.
  
          Return:
            A dict representing this Shake instance