class_docstr: An entry has one or more user-agents and zero or more rulelines
code: def __str__(self):
      ret = []
      for agent in self.useragents:
          ret.append(f"User-agent: {agent}")
      if self.delay is not None:
          ret.append(f"Crawl-delay: {self.delay}")
      if self.req_rate is not None:
          rate = self.req_rate
          ret.append(f"Request-rate: {rate.requests}/{rate.seconds}")
      ret.extend(map(str, self.rulelines))
      return "\n".join(ret)
  
imports: import collections
  import urllib.parse
  import urllib.request
label_desc: Use image node_id 2 for calling the Entry obj's underlying member method code with example usage: obj.__str__() and returns: str