Simplified get_job_url function
authorAleksey Maksimov <ctpeko3a@gmail.com>
Sat, 29 Mar 2014 17:07:25 +0000 (01:07 +0800)
committerAleksey Maksimov <ctpeko3a@gmail.com>
Sun, 30 Mar 2014 08:50:38 +0000 (16:50 +0800)
jenkinsapi/view.py
jenkinsapi_tests/unittests/test_view.py

index f8bf5db..4351ca5 100644 (file)
@@ -6,6 +6,7 @@ import logging
 
 from jenkinsapi.jenkinsbase import JenkinsBase
 from jenkinsapi.job import Job
+from jenkinsapi.custom_exceptions import NotFound
 
 
 log = logging.getLogger(__name__)
@@ -71,13 +72,13 @@ class View(JenkinsBase):
         return len(self.get_job_dict().keys())
 
     def get_job_url(self, str_job_name):
-        try:
-            job_dict = self.get_job_dict()
-            return job_dict[str_job_name]
-        except KeyError:
+        if str_job_name in self:
+            return self.get_job_dict()[str_job_name]
+        else:
             # noinspection PyUnboundLocalVariable
-            all_views = ", ".join(job_dict.keys())
-            raise KeyError("Job %s is not known - available: %s" % (str_job_name, all_views))
+            views_jobs = ", ".join(self.get_job_dict().keys())
+            raise NotFound("Job %s is not known, available jobs"
+                           " in view are: %s" % (str_job_name, views_jobs))
 
     def get_jenkins_obj(self):
         return self.jenkins_obj
index 4fdd433..0c193c0 100644 (file)
@@ -5,6 +5,7 @@ from jenkinsapi.jenkinsbase import JenkinsBase
 from jenkinsapi.jenkins import Jenkins
 from jenkinsapi.view import View
 from jenkinsapi.job import Job
+from jenkinsapi.custom_exceptions import NotFound
 
 
 class TestView(unittest.TestCase):
@@ -109,7 +110,7 @@ class TestView(unittest.TestCase):
         self.assertEquals(self.v.get_job_url('foo'), 'http://halob:8080/job/foo/')
 
     def test_wrong_get_job_url(self):
-        with self.assertRaises(KeyError):
+        with self.assertRaises(NotFound):
             self.v.get_job_url('bar')
 
     # We have to re-patch JenkinsBase here because by the time