diff --git a/metobsapi/__init__.py b/metobsapi/__init__.py index e9c169d1f25964105c390e91f1aeac1d27d5bf0b..4175874247b645233b5c2550751196969a3bcf18 100644 --- a/metobsapi/__init__.py +++ b/metobsapi/__init__.py @@ -1,3 +1,3 @@ -from metobsapi.server import app +from metobsapi.server import app # noqa from .version import __version__ # noqa diff --git a/metobsapi/data_api.py b/metobsapi/data_api.py index baab959a9bd28878e58b3bc22200bf6565b1d9f9..cf43c86ef6be4a392bec174f4720aadedfcc5371 100644 --- a/metobsapi/data_api.py +++ b/metobsapi/data_api.py @@ -139,7 +139,7 @@ def calc_num_records(begin, end, interval): def calc_file_size(num_records, num_streams): - """Number of bytes returned for a text based format""" + """Get number of bytes returned for a text based format.""" # estimate about 7 bytes (overhead + data characters) per data point return num_records * num_streams * 7.0 diff --git a/metobsapi/files_api.py b/metobsapi/files_api.py index 92d813a05c8dc284936fc51ccbeab31b9250bd17..879f1beaf8c6e30461feaf07effb04dee11a19ef 100644 --- a/metobsapi/files_api.py +++ b/metobsapi/files_api.py @@ -175,14 +175,13 @@ bitsadmin /resume myDownloadJob bitsadmin /SetNotifyCmdLine myDownloadJob \"%SystemRoot%\\system32\\bitsadmin.exe\" \"%SystemRoot%\\syste,32\\bitsadmin.exe /complete myDownloadJob\" bitsadmin /monitor -""" +""" # noqa if frame is not None and not frame.empty: urls = frame["url"] directories = [] commands = [] - for idx, url in enumerate(urls): - relpath = frame["relpath"][idx] + for relpath in frame["relpath"]: directory = os.path.dirname(relpath).replace("/", "\\") if directory not in directories: diff --git a/metobsapi/server.py b/metobsapi/server.py index 28ccde9e52dbd38af6b00868fa8522c9b60b5336..08752e1c2c7814d7711dce40813ddccaabd9bdd3 100644 --- a/metobsapi/server.py +++ b/metobsapi/server.py @@ -41,13 +41,13 @@ CORS(app, resources=r"/api/*", allow_headers="Content-Type") @app.route("/api/") def index(): - """Main App Documentation""" + """Get Main App Documentation.""" return render_template("index.html") @app.route("/api/files") def files_index(): - """Files API Documentation""" + """Get Files API Documentation.""" return render_template( "files_index.html", archive_info=file_responses.ARCHIVE_STREAMS, @@ -57,7 +57,7 @@ def files_index(): @app.route("/api/data") def data_index(): - """Data API Documentation""" + """Get Data API Documentation.""" return render_template("data_index.html") diff --git a/metobsapi/tests/test_files_api.py b/metobsapi/tests/test_files_api.py index 5ae33107d1918f268970592ee88229024248450c..105e0c5075276f4deb610d9823128dc240ab2084 100644 --- a/metobsapi/tests/test_files_api.py +++ b/metobsapi/tests/test_files_api.py @@ -82,7 +82,7 @@ class TestFilesAPI(unittest.TestCase): assert fn in res.data def test_tower_daily_ascii_relative_json(self): - """Test relative begin with defined end + """Test relative begin with defined end. Begin and end are relative to today so begin=-2 should mean the day before yesterday. End being set to yesterday's date should mean we get @@ -98,7 +98,7 @@ class TestFilesAPI(unittest.TestCase): assert fn not in res.data def test_tower_daily_ascii_both_relative_json(self): - """Test relative begin and end + """Test relative begin and end. Begin and end are relative to today so begin=-2 and end=-2 should mean we only get 1 file for the day before yesterday. diff --git a/metobsapi/util/__init__.py b/metobsapi/util/__init__.py index c64b90d8728825b0175d589bc03e007ed4cdc437..dc57c9b485eb27b1542a326ac3ccdf6c0b673684 100644 --- a/metobsapi/util/__init__.py +++ b/metobsapi/util/__init__.py @@ -1,6 +1,5 @@ #!/usr/bin/env python -"""Utility functions to help with testing and running hte MetObs API -""" +"""Utility functions to help with testing and running hte MetObs API.""" import os from datetime import datetime @@ -37,10 +36,10 @@ def create_fake_archive(archive_info, root=FAKE_ARCHIVE_PATH, datetimes=None): curr_dir = os.getcwd() os.makedirs(root, exist_ok=True) os.chdir(root) - for site, inst_info in archive_info.items(): + for site, site_info in archive_info.items(): os.makedirs(site, exist_ok=True) os.chdir(site) - for inst, inst_info in inst_info["instruments"].items(): + for inst, inst_info in site_info["instruments"].items(): os.makedirs(inst, exist_ok=True) os.chdir(inst) for level_name, level_info in inst_info["levels"].items(): @@ -50,7 +49,7 @@ def create_fake_archive(archive_info, root=FAKE_ARCHIVE_PATH, datetimes=None): os.makedirs(version_name, exist_ok=True) os.chdir(version_name) for dt in datetimes: - for pattern_name, pattern_info in level_info["products"].items(): + for pattern_info in level_info["products"].values(): if pattern_info["frequency"] not in FREQUENCY_DIR_FMT: raise RuntimeError("Unknown frequency '%s'", pattern_info["frequency"]) diff --git a/metobsapi/util/data_responses.py b/metobsapi/util/data_responses.py index 0805a464851ae2b9ceaa82cb91c505611c24270c..52207223a67efd832a01184e5fa221c0aa16773e 100644 --- a/metobsapi/util/data_responses.py +++ b/metobsapi/util/data_responses.py @@ -1,3 +1,5 @@ +"""Configuration for data-based API responses.""" + SYMBOL_TRANSLATIONS = { ("aoss", "tower"): { "air_temp": "air_temp", diff --git a/metobsapi/util/file_responses.py b/metobsapi/util/file_responses.py index 07c57c10cedc845a2a8b44309b6a6af8c60a3326..e0b313730007d6102895ae5f61dfb869ae14cfac 100644 --- a/metobsapi/util/file_responses.py +++ b/metobsapi/util/file_responses.py @@ -1,3 +1,4 @@ +"""Configuration for file-based API responses.""" import os from collections import defaultdict from typing import TypedDict @@ -89,7 +90,8 @@ ARCHIVE_INFO: dict[str, SiteInfo] = { "frequency": ProductFrequency.DAILY_FILE, "pattern": "aoss_tower.accum_precip.%Y-%m-%d.png", "thumbnail_pattern": "aoss_tower.accum_precip.%Y-%m-%d_thumbnail.png", - "display_name": "Daily Accumulated Precipitation (aoss_tower.accum_precip.YYYY-MM-DD.png)", + "display_name": "Daily Accumulated Precipitation " + "(aoss_tower.accum_precip.YYYY-MM-DD.png)", }, "solar-flux-daily": { "frequency": ProductFrequency.DAILY_FILE, diff --git a/metobsapi/util/query_influx.py b/metobsapi/util/query_influx.py index 35c03ef1431e937be6efad41a0eff3d36b318270..57f40546d876d869cfa1a40528bd28e68b71bcf6 100644 --- a/metobsapi/util/query_influx.py +++ b/metobsapi/util/query_influx.py @@ -1,3 +1,4 @@ +"""Helpers for querying an InfluxDB backend.""" from datetime import timedelta from flask import current_app diff --git a/metobsapi_development.py b/metobsapi_development.py index f10d2d9d89757f1c450ca99b7716725826a303d5..cf10fd8682f921f31584820c83b70aab1c253bc9 100644 --- a/metobsapi_development.py +++ b/metobsapi_development.py @@ -1,6 +1,4 @@ -import os - -from metobsapi.common_config import * +"""Fake configuration options for testing.""" from metobsapi.util import FAKE_ARCHIVE_PATH, create_fake_archive from metobsapi.util.file_responses import ARCHIVE_INFO diff --git a/setup.cfg b/setup.cfg index 191111d52ee53d36aa23528a276d6e99705dedb0..207d834481ffc0ddfb3e546969225eddf3047efa 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [flake8] max-line-length = 120 -ignore = D101,D102,D103,D104,D106,D107,W503,E203,B008 +ignore = D100,D101,D102,D103,D104,D106,D107,W503,E203,B008 [coverage:run] relative_files = True