Comment 1 for bug 1781381

Revision history for this message
Mike Winter (suederat) wrote :

 my cmd2.Cmd wrapper with a workaround, simply replaces b'' w/ {}

     def do_deletebuild(self, args):
          """delete build numbers

          WIP, fails on maybe_add_crumb
          https://<email address hidden>/msg00533.html
          """
          if hasattr(self, 'jobs'):
              _jobs = self.jobs
          else:
              # this is the path for nested jobs
              # e.g. Release_3.3/GOLD/PERFORMANCE/EDGE1000 property lastBuild
              _jobs = args[:1]
              args = args[1:]
          if isinstance(_jobs[0], str):
              _jobs[0] = dict(name=_jobs[0])
          jobname = _jobs[0]['name']
          try:
              numbers = int(args[0])
              if numbers < 0:
                  # TODO all but N newest
                  pass
              numbers = range(numbers, numbers + 1)
          except ValueError:
              numbers = args[0].split('-')
              numbers = range(int(numbers[0]), int(numbers[1]) + 1)
              # delete a range

          for number in numbers:
              folder_url, short_name = self.server._get_job_folder(jobname)
              url = self.server._build_url(jenkins.DELETE_BUILD, locals())
              headers = {}
              self.server.jenkins_open(requests.Request('POST', url, headers))