From 1eb41e63f9c47b18953bedaa967a395f9fb8e850 Mon Sep 17 00:00:00 2001 From: Bradley Harris Date: Wed, 22 Aug 2012 16:05:09 -0400 Subject: [PATCH] Makes delete_job work with builtin auth by using the proper parameters to get the job --- jenkinsapi/jenkins.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/jenkinsapi/jenkins.py b/jenkinsapi/jenkins.py index 040b8d2..7875697 100644 --- a/jenkinsapi/jenkins.py +++ b/jenkinsapi/jenkins.py @@ -42,6 +42,12 @@ class Jenkins(JenkinsBase): self.proxypass = proxypass JenkinsBase.__init__(self, baseurl, formauth=formauth) + def _clone(self): + return Jenkins(self.baseurl, username=self.username, + password=self.password, proxyhost=self.proxyhost, + proxyport=self.proxyport, proxyuser=self.proxyuser, + proxypass=self.proxypass, formauth=self.formauth) + def get_proxy_auth(self): return self.proxyhost, self.proxyport, self.proxyuser, self.proxypass @@ -162,10 +168,7 @@ class Jenkins(JenkinsBase): 'from': jobname}) copy_job_url = urlparse.urljoin(self.baseurl, "createItem?%s" % qs) self.post_data(copy_job_url, '') - newjk = Jenkins(self.baseurl, username=self.username, - password=self.password, proxyhost=self.proxyhost, - proxyport=self.proxyport, proxyuser=self.proxyuser, - proxypass=self.proxypass, formauth=self.formauth) + newjk = self._clone() return newjk.get_job(newjobname) def delete_job(self, jobname): @@ -174,12 +177,9 @@ class Jenkins(JenkinsBase): :param jobname: name of a exist job, str :return: new jenkins_obj """ - delete_job_url = urlparse.urljoin(Jenkins(self.baseurl).get_job(jobname).baseurl, "doDelete" ) + delete_job_url = urlparse.urljoin(self._clone().get_job(jobname).baseurl, "doDelete" ) self.post_data(delete_job_url, '') - newjk = Jenkins(self.baseurl, username=self.username, - password=self.password, proxyhost=self.proxyhost, - proxyport=self.proxyport, proxyuser=self.proxyuser, - proxypass=self.proxypass, formauth=self.formauth) + newjk = self._clone() return newjk def iteritems(self): @@ -227,10 +227,7 @@ class Jenkins(JenkinsBase): def delete_view_by_url(self, str_url): url = "%s/doDelete" %str_url self.post_data(url, '') - newjk = Jenkins(self.baseurl, username=self.username, - password=self.password, proxyhost=self.proxyhost, - proxyport=self.proxyport, proxyuser=self.proxyuser, - proxypass=self.proxypass, formauth=self.formauth) + newjk = self._clone() return newjk def create_view(self, str_view_name, people=None): -- 2.34.1