docs: def check_content(self, 
                        content_id=None,
                        post_title=None, 
                        post_body=None, 
                        author_name=None, 
                        author_url=None, 
                        author_mail=None, 
                        author_ip=None, 
                        author_id=None, 
                        author_open_id=None,
                        author_created=None,
                        allow_unsure=None,
                        strictness=None,
                        content_type=None,
                        honeypot=None
                        ):
          """Requests a ham/spam/unsure classification for content.
          
          If rechecking or updating previously checked content, the content_id must be passed in.
          An example of this usage:
              * checking the subsequent post after previewing the content
              * checking the subsequent post after solving a CAPTCHA
          
          Keyword arguments:
          content_id -- Unique identifier of the content to recheck/update.
          post_title -- The title of the content.
          post_body -- The body of the content.
          author_name -- The name of the content author.
          author_url -- The homepage/website URL of the content author.
          author_mail -- The e-mail address of the content author.
          author_ip -- The IP address of the content author.
          author_id -- The local user ID on the client site of the content author.
          author_open_id -- List of Open IDs of the content author.
          author_created -- When the author's account was created.
              Can be raw UNIX timestamp, or a Python date or datetime (in UTC).
          allow_unsure -- If false, Mollom will only return ham or spam. Defaults to true.
          strictness -- A string denoting the strictness of Mollom checks to perform. 
              Can be "strict", "normal" or "relaxed". Defaults to "normal".
          content_type -- Type of content submitted. A type of "user" indicates user registration content.
          honeypot -- The value of a client-side honeypot form element, if non-empty.
          
          Returns:
          content_id -- Unique identifier if the content checked.
          spam_classification -- "ham", "spam" or "unsure".
          """
          if content_id:
              recheck_content_endpoint = Template("${rest_root}/content/${content_id}")
              url = recheck_content_endpoint.substitute(rest_root=self._rest_root, content_id=content_id)
          else:
              check_content_endpoint = Template("${rest_root}/content")
              url = check_content_endpoint.substitute(rest_root=self._rest_root)
          
          data = {"checks": "spam"}
          if post_title:
              data["postTitle"] = post_title
          if post_body:
              data["postBody"] = post_body
          if author_name:
              data["authorName"] = author_name
          if author_url:
              data["authorUrl"] = author_url
          if author_mail:
              data["authorMail"] = author_mail
          if author_ip:
              data["authorIp"] = author_ip
          if author_id:
              data["authorId"] = author_id
          if author_open_id:
              data["authorOpenId"] = " ".join(author_open_id)
          if author_created:
              if isinstance(author_created, datetime.date):  # and datetime.datetime is a subclass of datetime.date
                  data["authorCreated"] = calendar.timegm(author_created.timetuple())
              else:
                  data["authorCreated"] = author_created
          if allow_unsure:
              data["unsure"] = 1 if allow_unsure else 0
          if strictness:
              data["strictness"] = strictness
          if content_type:
              data["contentType"] = content_type
          if honeypot:
              data["honeypot"] = honeypot
              
          return self.__post_request(url, data)