From bb20e3865c99c4c14c275605ce29c9cd09460386 Mon Sep 17 00:00:00 2001 From: Aleksey Maksimov Date: Sun, 30 Mar 2014 01:07:25 +0800 Subject: [PATCH] Simplified get_job_url function --- jenkinsapi/view.py | 13 +++++++------ jenkinsapi_tests/unittests/test_view.py | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/jenkinsapi/view.py b/jenkinsapi/view.py index f8bf5db..4351ca5 100644 --- a/jenkinsapi/view.py +++ b/jenkinsapi/view.py @@ -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 diff --git a/jenkinsapi_tests/unittests/test_view.py b/jenkinsapi_tests/unittests/test_view.py index 4fdd433..0c193c0 100644 --- a/jenkinsapi_tests/unittests/test_view.py +++ b/jenkinsapi_tests/unittests/test_view.py @@ -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 -- 2.34.1