From 2039da698e708355c5525dd8d95da8e0845cae7f Mon Sep 17 00:00:00 2001 From: Jacob Tomlinson Date: Mon, 28 Nov 2016 09:32:57 +0000 Subject: [PATCH 1/5] Increment minor version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 81c8dbf..ee9c435 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from distutils.core import setup setup(name='datapoint', - version='0.4.0', + version='0.4.1', install_requires=[ "requests >= 2.3.0", "appdirs", From b180be09d60e5afcc45a11ee6e4048298f69e206 Mon Sep 17 00:00:00 2001 From: Jacob Tomlinson Date: Mon, 28 Nov 2016 09:33:51 +0000 Subject: [PATCH 2/5] Increment minor version --- datapoint/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datapoint/__init__.py b/datapoint/__init__.py index cf80bf7..a65394b 100644 --- a/datapoint/__init__.py +++ b/datapoint/__init__.py @@ -1,6 +1,6 @@ """Datapoint API to retrieve Met Office data""" -__version__ = "0.4.0" +__version__ = "0.4.1" __author__ = "Jacob Tomlinson" __author_email__ = "jacob.tomlinson@metoffice.gov.uk" From df58bd46c269d871f806a40dab0b96a9c46a9a32 Mon Sep 17 00:00:00 2001 From: Alex Hilson Date: Wed, 4 Jan 2017 11:50:12 +0000 Subject: [PATCH 3/5] Use explicit indexing for python2.6 compatibility --- datapoint/regions/RegionManager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/datapoint/regions/RegionManager.py b/datapoint/regions/RegionManager.py index 446fff8..cc7ce44 100644 --- a/datapoint/regions/RegionManager.py +++ b/datapoint/regions/RegionManager.py @@ -30,8 +30,8 @@ def call_api(self, path, **kwargs): ''' if 'key' not in kwargs: kwargs['key'] = self.api_key - req = requests.get('{}{}'.format(self.base_url, path), params=kwargs) - + req = requests.get('{0}{1}'.format(self.base_url, path), params=kwargs) + if req.status_code != requests.codes.ok: req.raise_for_status() @@ -63,4 +63,4 @@ def get_raw_forecast(self, region_id): ''' Request unformatted forecast for a specific region_id. ''' - return self.call_api('/{}'.format(region_id)) + return self.call_api('/{0}'.format(region_id)) From c33b5acabf5fbbbaaadbdd49c190b2f5d4e865d7 Mon Sep 17 00:00:00 2001 From: Alex Hilson Date: Wed, 4 Jan 2017 11:51:15 +0000 Subject: [PATCH 4/5] Tidy whitespace in docstrings --- datapoint/regions/RegionManager.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/datapoint/regions/RegionManager.py b/datapoint/regions/RegionManager.py index cc7ce44..e917056 100644 --- a/datapoint/regions/RegionManager.py +++ b/datapoint/regions/RegionManager.py @@ -5,12 +5,12 @@ from datapoint.Site import Site from datapoint.regions.region_names import REGION_NAMES - REGIONS_BASE_URL = 'http://datapoint.metoffice.gov.uk/public/data/txt/wxfcs/regionalforecast/json' + class RegionManager(object): ''' - Datapoint Manager for national and regional text forecasts + Datapoint Manager for national and regional text forecasts ''' def __init__(self, api_key, base_url=None): self.api_key = api_key @@ -39,9 +39,9 @@ def call_api(self, path, **kwargs): def get_all_regions(self): ''' - Request a list of regions from Datapoint. Returns each Region - as a Site object. Regions rarely change, so we cache the response - for one hour to minimise requests to API. + Request a list of regions from Datapoint. Returns each Region + as a Site object. Regions rarely change, so we cache the response + for one hour to minimise requests to API. ''' if (time() - self.regions_last_update) < self.regions_update_time: return self.regions_last_request From d444a52a1474398e582d6daeac381df00a883f6b Mon Sep 17 00:00:00 2001 From: Alex Hilson Date: Wed, 4 Jan 2017 11:51:27 +0000 Subject: [PATCH 5/5] Update test for python3 compatibility --- tests/integration/regions_test.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/integration/regions_test.py b/tests/integration/regions_test.py index 246c15a..58739b4 100644 --- a/tests/integration/regions_test.py +++ b/tests/integration/regions_test.py @@ -24,10 +24,12 @@ def test_call_api(self): def test_get_all_regions(self): all_regions = self.regions.get_all_regions() - sample_region = filter(lambda x: x.id == '515', all_regions)[0] + sample_region = next( + region for region in all_regions + if region.id == '515') assert (sample_region.name == 'UK') assert (sample_region.region == 'uk') - + def test_get_raw_forecast(self): sample_region = self.regions.get_all_regions()[0] response = self.regions.get_raw_forecast( @@ -38,4 +40,4 @@ def test_get_raw_forecast(self): forecast_periods = response['FcstPeriods']['Period'] forecast_ids = [period['id'] for period in forecast_periods] expected_ids = ['day1to2', 'day3to5', 'day6to15', 'day16to30'] - assert (forecast_ids == expected_ids) \ No newline at end of file + assert (forecast_ids == expected_ids)