code: def find_pulls(self, testpulls=None):
          
          #We check all the repositories installed for new (open) pull requests.
          #If any exist, we check the pull request number against our archive to
          #see if we have to do anything for it.
          result = {}
          for lname, repo in self.repositories.items():
              if lname not in self.archive:
                  raise ValueError("Trying to find pull requests for a repository "
                                   "that hasn't been installed. Use server.install().")
              if self.runnable is not None and lname not in self.runnable:
                  #We just ignore this repository completely and don't even bother
                  #performing a live check on github.
                  continue
              
              pulls = testpulls if testpulls is not None else repo.repo.get_pulls("open")
              result[lname] = []
              for pull in pulls:
                  newpull = True
                  if pull.snumber in self.archive[lname]:
                      #Check the status of that pull request processing. If it was
                      #successful, we just ignore this open pull request; it is
                      #obviously waiting to be merged in.
                      if self.archive[lname][pull.snumber]["completed"] == True:
                          newpull = False
  
                  if newpull:
                      #Add the pull request to the list that needs to be processed.
                      #We don't add the request to the archive yet because the
                      #processing step hasn't happened yet.
                      result[lname].append(PullRequest(self, repo, pull, testpulls is not None))
  
          return result
docs: Finds a list of new pull requests that need to be processed.
  
          :arg testpulls: a list of tserver.FakePull instances so we can test the code
            functionality without making live requests to github.