diff --git a/docs/dev_guide.rst b/docs/dev_guide.rst
index 40d891f..02b421b 100644
--- a/docs/dev_guide.rst
+++ b/docs/dev_guide.rst
@@ -44,6 +44,16 @@ will run checks on the code style using precommit hooks.
``pytest``
==========
+.. note::
+
+ We run the test suite with the beta version of the Helioviewer API.
+ So if you run **pytest** without it, the tests will fail.
+ This is set automatically when you use **tox**.
+
+ There are two ways to change this.
+ 1. Set the environment variable ``HELIOVIEWER_API_URL`` to ``https://api.beta.helioviewer.org/v2/``.
+ 2. Add ``HELIOVIEWER_API_URL="https://api.beta.helioviewer.org/v2/"`` to the command line when you run **pytest**.
+
The test suite can also be run directly from the native ``pytest`` command, which is generally faster than using tox for iterative development.
In this case, it is important for developers to be aware that they must manually rebuild any extensions by running::
diff --git a/hvpy/api_groups/jpeg2000/tests/test_get_jp2_header.py b/hvpy/api_groups/jpeg2000/tests/test_get_jp2_header.py
index 5c0d289..7b523bd 100644
--- a/hvpy/api_groups/jpeg2000/tests/test_get_jp2_header.py
+++ b/hvpy/api_groups/jpeg2000/tests/test_get_jp2_header.py
@@ -5,12 +5,12 @@
def test_getJP2HeaderInputParameters():
- response = getJP2Header(id=9838343)
+ response = getJP2Header(id=7654321)
assert isinstance(response, str)
assert response.startswith("")
- response = getJP2Header(id=9838343, callback="my_callback")
+ response = getJP2Header(id=7654321, callback="my_callback")
assert isinstance(response, str)
assert response.startswith("my_callback(")
@@ -22,4 +22,4 @@ def test_error_handling():
def test_url_property():
params = getJP2HeaderInputParameters(id=9838343)
- assert params.url == "https://api.helioviewer.org/v2/getJP2Header/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/getJP2Header/"
diff --git a/hvpy/api_groups/jpeg2000/tests/test_get_jp2_image.py b/hvpy/api_groups/jpeg2000/tests/test_get_jp2_image.py
index c2a0ce4..855f800 100644
--- a/hvpy/api_groups/jpeg2000/tests/test_get_jp2_image.py
+++ b/hvpy/api_groups/jpeg2000/tests/test_get_jp2_image.py
@@ -1,36 +1,34 @@
-from datetime import datetime
-
import pytest
from hvpy import getJP2Image
from hvpy.api_groups.jpeg2000.get_jp2_image import getJP2ImageInputParameters
-def test_str_response():
- response = getJP2Image(date=datetime(2022, 1, 1, 23, 59, 59), sourceId=14, jpip=True, json=False)
+def test_str_response(date):
+ response = getJP2Image(date=date, sourceId=14, jpip=True, json=False)
assert isinstance(response, str)
assert response.startswith("jpip://")
-def test_json_response():
- response = getJP2Image(date=datetime(2022, 1, 1, 23, 59, 59), sourceId=14, jpip=True, json=True)
+def test_json_response(date):
+ response = getJP2Image(date=date, sourceId=14, jpip=True, json=True)
assert isinstance(response, dict)
assert "uri" in response
assert response["uri"].startswith("jpip://")
-def test_raw_response():
- response = getJP2Image(date=datetime(2022, 1, 1, 23, 59, 59), sourceId=14, jpip=False, json=False)
+def test_raw_response(date):
+ response = getJP2Image(date=date, sourceId=14, jpip=False, json=False)
assert isinstance(response, bytes)
-def test_raw_response_with_json():
- response = getJP2Image(date=datetime(2022, 1, 1, 23, 59, 59), sourceId=14, jpip=False, json=True)
+def test_raw_response_with_json(date):
+ response = getJP2Image(date=date, sourceId=14, jpip=False, json=True)
assert isinstance(response, bytes)
-def test_default_response():
- response = getJP2Image(date=datetime(2022, 1, 1, 23, 59, 59), sourceId=14)
+def test_default_response(date):
+ response = getJP2Image(date=date, sourceId=14)
assert isinstance(response, bytes)
@@ -39,7 +37,7 @@ def test_error_handling():
getJP2Image(sourceId=14, jpip=True, json=True)
-def test_url_property():
- params = {"date": datetime(2022, 1, 1, 23, 59, 59), "sourceId": 14, "jpip": True, "json": True}
+def test_url_property(date):
+ params = {"date": date, "sourceId": 14, "jpip": True, "json": True}
params = getJP2ImageInputParameters(**params)
- assert params.url == "https://api.helioviewer.org/v2/getJP2Image/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/getJP2Image/"
diff --git a/hvpy/api_groups/jpeg2000/tests/test_get_jpx.py b/hvpy/api_groups/jpeg2000/tests/test_get_jpx.py
index 7c6089a..80fe3d5 100644
--- a/hvpy/api_groups/jpeg2000/tests/test_get_jpx.py
+++ b/hvpy/api_groups/jpeg2000/tests/test_get_jpx.py
@@ -1,75 +1,75 @@
-from datetime import datetime
-
import pytest
from hvpy import getJPX
from hvpy.api_groups.jpeg2000.get_jpx import getJPXInputParameters
-def test_raw_response():
+def test_raw_response(start_time, end_time):
response = getJPX(
- startTime=datetime(2014, 1, 1, 0, 0, 0),
- endTime=datetime(2014, 1, 1, 0, 45, 0),
+ startTime=start_time,
+ endTime=end_time,
sourceId=14,
linked=False,
verbose=False,
jpip=False,
- cadence=None,
+ cadence=60,
)
assert isinstance(response, bytes)
-def test_str_response():
+def test_str_response(start_time, end_time):
response = getJPX(
- startTime=datetime(2014, 1, 1, 0, 0, 0),
- endTime=datetime(2014, 1, 1, 0, 45, 0),
+ startTime=start_time,
+ endTime=end_time,
sourceId=14,
linked=False,
verbose=False,
jpip=True,
- cadence=None,
+ cadence=60,
)
assert isinstance(response, str)
assert response.startswith("jpip://")
-def test_json_response():
+def test_json_response(start_time, end_time):
response = getJPX(
- startTime=datetime(2014, 1, 1, 0, 0, 0),
- endTime=datetime(2014, 1, 1, 0, 45, 0),
+ startTime=start_time,
+ endTime=end_time,
sourceId=14,
linked=False,
verbose=True,
jpip=True,
- cadence=None,
+ cadence=60,
)
assert isinstance(response, dict)
assert response["uri"].startswith("jpip://")
response = getJPX(
- startTime=datetime(2014, 1, 1, 0, 0, 0),
- endTime=datetime(2014, 1, 1, 0, 45, 0),
+ startTime=start_time,
+ endTime=end_time,
sourceId=14,
linked=False,
verbose=True,
jpip=False,
- cadence=None,
+ cadence=60,
)
assert isinstance(response, dict)
assert response["uri"].startswith("https://")
-def test_error_handling():
+def test_error_handling(start_time, end_time):
with pytest.raises(TypeError, match="missing 1 required positional argument: 'startTime'"):
- getJPX(endTime=datetime(2014, 1, 1, 0, 45, 0), sourceId=14)
+ getJPX(endTime=end_time, sourceId=14)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'endTime'"):
- getJPX(startTime=datetime(2014, 1, 1, 0, 0, 0), sourceId=14)
+ getJPX(startTime=start_time, sourceId=14)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'sourceId'"):
- getJPX(startTime=datetime(2014, 1, 1, 0, 0, 0), endTime=datetime(2014, 1, 1, 0, 45, 0))
+ getJPX(startTime=start_time, endTime=end_time)
-def test_url_property():
+def test_url_property(start_time, end_time):
params = getJPXInputParameters(
- startTime=datetime(2014, 1, 1, 0, 0, 0), endTime=datetime(2014, 1, 1, 0, 45, 0), sourceId=14
+ startTime=start_time,
+ endTime=end_time,
+ sourceId=14,
)
- assert params.url == "https://api.helioviewer.org/v2/getJPX/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/getJPX/"
diff --git a/hvpy/api_groups/jpeg2000/tests/test_get_jpx_closest_to_mid_point.py b/hvpy/api_groups/jpeg2000/tests/test_get_jpx_closest_to_mid_point.py
index 93d6178..a97224b 100644
--- a/hvpy/api_groups/jpeg2000/tests/test_get_jpx_closest_to_mid_point.py
+++ b/hvpy/api_groups/jpeg2000/tests/test_get_jpx_closest_to_mid_point.py
@@ -1,52 +1,47 @@
-from datetime import datetime
-
import pytest
from hvpy import getJPXClosestToMidPoint
from hvpy.api_groups.jpeg2000.get_jpx_closest_to_mid_point import getJPXClosestToMidPointInputParameters
-startTimes = [datetime(2014, 1, 1, 0, 0, 0), datetime(2014, 1, 1, 2, 3, 3), datetime(2014, 1, 1, 4, 5, 5)]
-endTimes = [datetime(2014, 1, 1, 0, 45, 0), datetime(2014, 1, 1, 2, 33, 3), datetime(2014, 1, 1, 4, 54, 5)]
-
-def test_raw_response():
+def test_raw_response(start_times, end_times):
response = getJPXClosestToMidPoint(
- startTimes=startTimes, endTimes=endTimes, sourceId=14, linked=False, verbose=False, jpip=False
+ startTimes=start_times, endTimes=end_times, sourceId=14, linked=False, verbose=False, jpip=False
)
assert isinstance(response, bytes)
-def test_str_response():
+def test_str_response(start_times, end_times):
response = getJPXClosestToMidPoint(
- startTimes=startTimes, endTimes=endTimes, sourceId=14, linked=False, verbose=False, jpip=True
+ startTimes=start_times, endTimes=end_times, sourceId=14, linked=False, verbose=False, jpip=True
)
assert isinstance(response, str)
assert response.startswith("jpip://")
-def test_json_response():
+def test_json_response(start_times, end_times):
response = getJPXClosestToMidPoint(
- startTimes=startTimes, endTimes=endTimes, sourceId=14, linked=False, verbose=True, jpip=True
+ startTimes=start_times, endTimes=end_times, sourceId=14, linked=False, verbose=True, jpip=True
)
assert isinstance(response, dict)
assert response["uri"].startswith("jpip://")
response = getJPXClosestToMidPoint(
- startTimes=startTimes, endTimes=endTimes, sourceId=14, linked=False, verbose=True, jpip=False
+ startTimes=start_times, endTimes=end_times, sourceId=14, linked=False, verbose=True, jpip=False
)
assert isinstance(response, dict)
assert response["uri"].startswith("https://")
-def test_error_handling():
+def test_error_handling(start_times, end_times):
with pytest.raises(TypeError, match="missing 1 required positional argument: 'startTimes'"):
- getJPXClosestToMidPoint(endTimes=endTimes, sourceId=14)
+ getJPXClosestToMidPoint(endTimes=end_times, sourceId=14)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'endTimes'"):
- getJPXClosestToMidPoint(startTimes=startTimes, sourceId=14)
+ getJPXClosestToMidPoint(startTimes=start_times, sourceId=14)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'sourceId'"):
- getJPXClosestToMidPoint(startTimes=startTimes, endTimes=endTimes)
+ getJPXClosestToMidPoint(startTimes=start_times, endTimes=end_times)
-def test_url_property():
- params = getJPXClosestToMidPointInputParameters(startTimes=startTimes, endTimes=endTimes, sourceId=14)
- assert params.url == "https://api.helioviewer.org/v2/getJPXClosestToMidPoint/"
+def test_url_property(start_times, end_times):
+ params = getJPXClosestToMidPointInputParameters(startTimes=start_times, endTimes=end_times, sourceId=14)
+ assert params.url == "https://api.beta.helioviewer.org/v2/getJPXClosestToMidPoint/"
diff --git a/hvpy/api_groups/jpeg2000/tests/test_get_status.py b/hvpy/api_groups/jpeg2000/tests/test_get_status.py
index e0e7acf..5bdb5ca 100644
--- a/hvpy/api_groups/jpeg2000/tests/test_get_status.py
+++ b/hvpy/api_groups/jpeg2000/tests/test_get_status.py
@@ -9,4 +9,4 @@ def test_getStatusInputParameters():
def test_url_property():
params = getStatusInputParameters()
- assert params.url == "https://api.helioviewer.org/v2/getStatus/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/getStatus/"
diff --git a/hvpy/api_groups/movies/tests/test_get_movie_status.py b/hvpy/api_groups/movies/tests/test_get_movie_status.py
index 977bfba..7a11609 100644
--- a/hvpy/api_groups/movies/tests/test_get_movie_status.py
+++ b/hvpy/api_groups/movies/tests/test_get_movie_status.py
@@ -6,7 +6,7 @@
def test_json_response():
response = getMovieStatus(
- id="VXvX5",
+ id="h2n6n",
format="mp4",
)
assert response["url"] is not None
@@ -15,7 +15,7 @@ def test_json_response():
def test_str_response():
response = getMovieStatus(
- id="VXvX5",
+ id="h2n6n",
format="mp4",
callback="myCallback",
)
@@ -45,4 +45,4 @@ def test_url_property():
id="VXvX5",
format="mp4",
)
- assert params.url == "https://api.helioviewer.org/v2/getMovieStatus/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/getMovieStatus/"
diff --git a/hvpy/api_groups/movies/tests/test_queue_movie.py b/hvpy/api_groups/movies/tests/test_queue_movie.py
index 44a04e3..af1ad0d 100644
--- a/hvpy/api_groups/movies/tests/test_queue_movie.py
+++ b/hvpy/api_groups/movies/tests/test_queue_movie.py
@@ -1,15 +1,13 @@
-from datetime import datetime
-
import pytest
from hvpy import queueMovie
from hvpy.api_groups.movies.queue_movie import queueMovieInputParameters
-def test_json_response():
+def test_json_response(start_time, end_time):
response = queueMovie(
- startTime=datetime(2022, 7, 20, 12, 12, 12),
- endTime=datetime(2022, 7, 21, 12, 12, 12),
+ startTime=start_time,
+ endTime=end_time,
layers="[12,7,22],[13,7,22]",
events="[AR,HMI_HARP;SPoCA,1],[CH,all,1]",
eventsLabels=False,
@@ -21,24 +19,24 @@ def test_json_response():
assert response["token"] is not None
-def test_error_handling():
+def test_error_handling(start_time, end_time):
with pytest.raises(TypeError, match="missing 1 required positional argument: 'imageScale'"):
queueMovie(
- startTime=datetime(2022, 7, 20, 12, 12, 12),
- endTime=datetime(2022, 7, 21, 12, 12, 12),
+ startTime=start_time,
+ endTime=end_time,
layers="[12,7,22],[13,7,22]",
events="[AR,HMI_HARP;SPoCA,1],[CH,all,1]",
eventsLabels=False,
)
-def test_url_property():
+def test_url_property(start_time, end_time):
params = queueMovieInputParameters(
- startTime=datetime(2022, 7, 20, 12, 12, 12),
- endTime=datetime(2022, 7, 21, 12, 12, 12),
+ startTime=start_time,
+ endTime=end_time,
layers="[12,7,22],[13,7,22]",
events="[AR,HMI_HARP;SPoCA,1],[CH,all,1]",
eventsLabels=False,
imageScale=1,
)
- assert params.url == "https://api.helioviewer.org/v2/queueMovie/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/queueMovie/"
diff --git a/hvpy/api_groups/movies/tests/test_re_queue_movie.py b/hvpy/api_groups/movies/tests/test_re_queue_movie.py
index b3c7a69..4c5c61c 100644
--- a/hvpy/api_groups/movies/tests/test_re_queue_movie.py
+++ b/hvpy/api_groups/movies/tests/test_re_queue_movie.py
@@ -25,4 +25,4 @@ def test_error_handling():
def test_url_property():
params = reQueueMovieInputParameters(id="gxRN5")
- assert params.url == "https://api.helioviewer.org/v2/reQueueMovie/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/reQueueMovie/"
diff --git a/hvpy/api_groups/official_clients/tests/test_get_closest_image.py b/hvpy/api_groups/official_clients/tests/test_get_closest_image.py
index 9772666..5f659e6 100644
--- a/hvpy/api_groups/official_clients/tests/test_get_closest_image.py
+++ b/hvpy/api_groups/official_clients/tests/test_get_closest_image.py
@@ -1,29 +1,27 @@
-from datetime import datetime
-
import pytest
from hvpy import getClosestImage
from hvpy.api_groups.official_clients.get_closest_image import getClosestImageInputParameters
-def test_json_res():
- response = getClosestImage(date=datetime(2014, 1, 1, 23, 59, 59), sourceId=14)
+def test_json_res(date):
+ response = getClosestImage(date=date, sourceId=14)
assert isinstance(response, dict)
-def test_str_res():
- response = getClosestImage(date=datetime(2014, 1, 1, 23, 59, 59), sourceId=14, callback="callback")
+def test_str_res(date):
+ response = getClosestImage(date=date, sourceId=14, callback="callback")
assert isinstance(response, str)
assert response.startswith("callback")
-def test_error_handling():
+def test_error_handling(date):
with pytest.raises(TypeError, match="missing 1 required positional argument: 'date'"):
getClosestImage(sourceId=14)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'sourceId'"):
- getClosestImage(date=datetime(2014, 1, 1, 23, 59, 59))
+ getClosestImage(date=date)
-def test_url_property():
- params = getClosestImageInputParameters(date=datetime(2014, 1, 1, 23, 59, 59), sourceId=14)
- assert params.url == "https://api.helioviewer.org/v2/getClosestImage/"
+def test_url_property(date):
+ params = getClosestImageInputParameters(date=date, sourceId=14)
+ assert params.url == "https://api.beta.helioviewer.org/v2/getClosestImage/"
diff --git a/hvpy/api_groups/screenshots/tests/test_download_screenshot.py b/hvpy/api_groups/screenshots/tests/test_download_screenshot.py
index f29bf72..489ec63 100644
--- a/hvpy/api_groups/screenshots/tests/test_download_screenshot.py
+++ b/hvpy/api_groups/screenshots/tests/test_download_screenshot.py
@@ -11,7 +11,7 @@ def test_raw_response():
def test_url_property():
params = downloadScreenshotInputParameters(id=3240748)
- assert params.url == "https://api.helioviewer.org/v2/downloadScreenshot/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/downloadScreenshot/"
def test_error_handling():
diff --git a/hvpy/api_groups/screenshots/tests/test_take_screenshot.py b/hvpy/api_groups/screenshots/tests/test_take_screenshot.py
index fbf9925..ea1e9cc 100644
--- a/hvpy/api_groups/screenshots/tests/test_take_screenshot.py
+++ b/hvpy/api_groups/screenshots/tests/test_take_screenshot.py
@@ -1,16 +1,14 @@
-from datetime import datetime
-
import pytest
from hvpy import takeScreenshot
from hvpy.api_groups.screenshots.take_screenshot import takeScreenshotInputParameters
-def test_json_response():
+def test_json_response(date):
response = takeScreenshot(
- date=datetime(2014, 1, 1, 23, 59, 59),
+ date=date,
imageScale=2.4204409,
- layers="[3,1,100]",
+ layers="[10,1,100]",
width=1920,
height=1200,
x0=0,
@@ -19,12 +17,12 @@ def test_json_response():
assert "id" in response
-def test_raw_response():
+def test_raw_response(date):
response = takeScreenshot(
display=True,
- date=datetime(2014, 1, 1, 23, 59, 59),
+ date=date,
imageScale=2.4204409,
- layers="[3,1,100]",
+ layers="[10,1,100]",
width=1920,
height=1200,
x0=0,
@@ -33,9 +31,9 @@ def test_raw_response():
assert isinstance(response, bytes)
-def test_url_property():
+def test_url_property(date):
params = takeScreenshotInputParameters(
- date=datetime(2014, 1, 1, 23, 59, 59),
+ date=date,
imageScale=2.4204409,
layers="[3,1,100]",
width=1920,
@@ -43,10 +41,10 @@ def test_url_property():
x0=0,
y0=0,
)
- assert params.url == "https://api.helioviewer.org/v2/takeScreenshot/"
+ assert params.url == "https://api.beta.helioviewer.org/v2/takeScreenshot/"
-def test_error_handling():
+def test_error_handling(date):
with pytest.raises(TypeError, match="missing 1 required positional argument: 'date'"):
takeScreenshot(
imageScale=2.4204409,
@@ -54,11 +52,11 @@ def test_error_handling():
)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'imageScale'"):
takeScreenshot(
- date=datetime(2014, 1, 1, 23, 59, 59),
+ date=date,
layers="[3,1,100]",
)
with pytest.raises(TypeError, match="missing 1 required positional argument: 'layers'"):
takeScreenshot(
- date=datetime(2014, 1, 1, 23, 59, 59),
+ date=date,
imageScale=2.4204409,
)
diff --git a/hvpy/conftest.py b/hvpy/conftest.py
index 8070f3f..ad39fcc 100644
--- a/hvpy/conftest.py
+++ b/hvpy/conftest.py
@@ -1,4 +1,5 @@
import os
+from datetime import datetime, timedelta
import pytest
@@ -21,3 +22,34 @@ def env():
setenv = SetEnv()
yield setenv
setenv.clear()
+
+
+@pytest.fixture
+def date():
+ return datetime.today() - timedelta(days=15)
+
+
+@pytest.fixture
+def start_time():
+ return datetime.today() - timedelta(days=15, minutes=5)
+
+
+@pytest.fixture
+def end_time():
+ return datetime.today() - timedelta(days=15)
+
+
+@pytest.fixture
+def start_times():
+ return [
+ datetime.today() - timedelta(days=15, minutes=5),
+ datetime.today() - timedelta(days=16, minutes=5),
+ ]
+
+
+@pytest.fixture
+def end_times():
+ return [
+ datetime.today() - timedelta(days=15),
+ datetime.today() - timedelta(days=16),
+ ]
diff --git a/hvpy/facade.py b/hvpy/facade.py
index 4dc2b50..5730ef1 100644
--- a/hvpy/facade.py
+++ b/hvpy/facade.py
@@ -37,8 +37,9 @@ def getJP2Image(
Examples
--------
>>> from hvpy import getJP2Image
- >>> getJP2Image(date=datetime(2019,1,1), sourceId=1, jpip=True)
- 'jpip://helioviewer.org:8090/EIT/2013/08/07/195/2013_08_07__01_13_50_146__SOHO_EIT_EIT_195.jp2'
+ >>> from datetime import datetime, timedelta
+ >>> getJP2Image(date=datetime.today(), sourceId=14, jpip=True)
+ 'jpip://...'
"""
params = getJP2ImageInputParameters(date=date, sourceId=sourceId, jpip=jpip, json=json)
return execute_api_call(input_parameters=params)
@@ -59,7 +60,7 @@ def getJP2Header(
Examples
--------
>>> from hvpy import getJP2Header
- >>> getJP2Header(id=9838343,callback="xml_header")
+ >>> getJP2Header(id=7654321,callback="xml_header")
'xml_header(\\\'116...')'
"""
params = getJP2HeaderInputParameters(id=id, callback=callback)
@@ -85,15 +86,15 @@ def getJPXClosestToMidPoint(
Examples
--------
>>> from hvpy import getJPXClosestToMidPoint
- >>> from datetime import datetime
+ >>> from datetime import datetime, timedelta
>>> getJPXClosestToMidPoint(
- ... startTimes=[datetime(2014, 1, 1, 0, 0, 0), datetime(2014, 1, 1, 2, 3, 3)],
- ... endTimes=[datetime(2014, 1, 1, 0, 45, 0), datetime(2014, 1, 1, 2, 33, 3)],
+ ... startTimes=[datetime.today() - timedelta(days=15, minutes=5), datetime.today() - timedelta(days=16, minutes=5)],
+ ... endTimes=[datetime.today() - timedelta(days=15), datetime.today() - timedelta(days=16)],
... sourceId=14,
... linked=False,
... jpip=True
... )
- 'jpip://helioviewer.org:8090/movies/SDO_AIA_335_...jpxmid'
+ 'jpip://beta.helioviewer.org:8090/movies/SDO_AIA_335_...jpxmid'
"""
params = getJPXClosestToMidPointInputParameters(
startTimes=startTimes,
@@ -126,9 +127,15 @@ def getJPX(
Examples
--------
>>> from hvpy import getJPX
- >>> from datetime import datetime
- >>> getJPX(startTime=datetime(2014, 1, 1, 0, 0, 0),endTime=datetime(2014, 1, 1, 0, 45, 0),sourceId=14,jpip=True)
- 'jpip://helioviewer.org:8090/movies/SDO_AIA_335_F2014-01-01T00.00.00Z_T2014-01-01T00.45.00ZL.jpx'
+ >>> from datetime import datetime, timedelta
+ >>> getJPX(startTime=datetime.today() - timedelta(days=15, minutes=5),
+ ... endTime=datetime.today() - timedelta(days=15),
+ ... sourceId=14,
+ ... linked=False,
+ ... jpip=True,
+ ... verbose=False,
+ ... cadence=60)
+ 'jpip://beta.helioviewer.org:8090/movies/...'
"""
params = getJPXInputParameters(
startTime=startTime,
@@ -155,7 +162,7 @@ def getStatus() -> Union[bytes, str, Dict[str, Any]]:
--------
>>> from hvpy import getStatus
>>> getStatus()
- {'AIA': {...}, 'COSMO': {...}, 'EIT': {...}, 'HMI': {...}, 'LASCO': {...}, 'MDI': {...}, 'SECCHI': {...}, 'SWAP': {...}, 'SXT': {...}, 'XRT': {...}}
+ {'AIA': ..., 'COSMO': ..., 'EUI': ..., 'HMI': ..., 'LASCO': ..., 'SECCHI': ..., 'SWAP': ..., 'XRT': ...}
"""
params = getStatusInputParameters()
return execute_api_call(input_parameters=params)
@@ -180,10 +187,10 @@ def getClosestImage(
>>> from datetime import datetime
>>> from hvpy import getClosestImage
>>> getClosestImage(
- ... date=datetime(2014,1,1,23,59,59),
+ ... date=datetime.today(),
... sourceId=14,
... )
- {'id': '32271665', 'date': '2014-01-02 00:00:03', 'name': 'AIA 335', 'scale': 0.5899606831770233, 'width': 4096, 'height': 4096, 'refPixelX': 2048.5, 'refPixelY': 2048.5, 'sunCenterOffsetParams': [], 'layeringOrder': 1}
+ {'id': '...', 'date': '...', 'name': '...', ...}
"""
params = getClosestImageInputParameters(date=date, sourceId=sourceId, callback=callback)
return execute_api_call(input_parameters=params)
@@ -205,7 +212,7 @@ def getDataSources(
--------
>>> from hvpy import getDataSources
>>> getDataSources()
- {'SDO': {'HMI': {'continuum': {'sourceId': 18, 'nickname': 'HMI Int', 'layeringOrder': 1, 'start': ..., 'end': ..., 'uiLabels': [{'label': 'Observatory', 'name': 'SDO'}, {'label': 'Instrument', 'name': 'HMI'}, {'label': 'Measurement', 'name': 'continuum'}]}, ...}
+ {'GOES-R': {'SUVI': {...: {'sourceId': ..., 'nickname': 'GOES-R SUVI 94', 'layeringOrder': 1, 'start': ..., 'end': ..., 'uiLabels': [{'label': 'Observatory', 'name': 'GOES-R'}, {'label': 'Detector', 'name': 'SUVI'}, ...}
"""
params = getDataSourcesInputParameters(
verbose=verbose,
@@ -249,9 +256,9 @@ def takeScreenshot(
>>> from hvpy import takeScreenshot
>>> from datetime import datetime
>>> takeScreenshot(
- ... date=datetime(2014, 1, 1, 23, 59, 59),
+ ... date=datetime.today(),
... imageScale=2.44,
- ... layers="[3,1,100]",
+ ... layers="[10,1,100]",
... x0=0,
... y0=0,
... width=1920,
@@ -343,9 +350,10 @@ def queueMovie(
Examples
--------
>>> from hvpy import queueMovie
+ >>> from datetime import datetime, timedelta
>>> queueMovie(
- ... startTime=datetime(2022, 7, 21, 12, 12, 12),
- ... endTime=datetime(2022, 7, 22, 12, 12, 12),
+ ... startTime=datetime.today() - timedelta(days=15, minutes=5),
+ ... endTime=datetime.today() - timedelta(days=15),
... layers="[12,7,22],[13,7,11]",
... events="[AR,HMI_HARP;SPoCA,1],[CH,all,1]",
... eventsLabels=False,
@@ -427,8 +435,8 @@ def getMovieStatus(
Examples
--------
>>> from hvpy import getMovieStatus
- >>> getMovieStatus(id="VXvX5", format="mp4")
- {'frameRate': 15, 'numFrames': 300, 'startDate': '2014-02-03 20:26:16', 'status': 2, 'endDate': '2014-02-05 20:16:40', 'width': 846, 'height': 820, 'title': 'SDO AIA 1600 (2014-02-03 20:26:16 - 20:16:40 UTC)', 'thumbnails': {'icon': '...', 'small': '...', 'medium': '...', 'large': '...', 'full': '...'}, 'url': '...', 'statusLabel': 'Completed'}
+ >>> getMovieStatus(id="h2n6n", format="mp4")
+ {'frameRate': ..., 'numFrames': ..., 'startDate': '...', 'status': ..., 'endDate': '...', 'width': ..., 'height': ..., 'title': '...', 'thumbnails': {'icon': '...', 'small': '...', 'medium': '...', 'large': '...', 'full': '...'}, 'url': '...', 'statusLabel': 'Completed'}
"""
params = getMovieStatusInputParameters(
id=id,
diff --git a/hvpy/tests/test_io.py b/hvpy/tests/test_io.py
index af6e2b7..e25f553 100644
--- a/hvpy/tests/test_io.py
+++ b/hvpy/tests/test_io.py
@@ -9,20 +9,20 @@ def test_default_get_output_type_is_raw():
def test_url_property():
params = HvpyParameters()
- assert params.url == "https://api.helioviewer.org/v2//"
+ assert params.url == "https://api.beta.helioviewer.org/v2//"
def test_set_url():
# This is not safe if we ever decide to parallelize the tests.
params_first = HvpyParameters()
- assert params_first.url == "https://api.helioviewer.org/v2//"
+ assert params_first.url == "https://api.beta.helioviewer.org/v2//"
set_api_url("https://api.beta.helioviewer.org/")
params_second = HvpyParameters()
assert params_second.url == "https://api.beta.helioviewer.org//"
assert params_first.url == params_second.url
- set_api_url("https://api.helioviewer.org/v2/")
+ set_api_url("https://api.beta.helioviewer.org/v2/")
def test_set_url_env(env):
@@ -41,4 +41,4 @@ def test_set_url_env(env):
assert params.url == "https://api.beta.helioviewer.org//"
assert LiveSettings.api_url == "https://api.beta.helioviewer.org/"
- set_api_url("https://api.helioviewer.org/v2/")
+ set_api_url("https://api.beta.helioviewer.org/v2/")
diff --git a/tox.ini b/tox.ini
index 5fefdaa..2f87820 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,6 +12,7 @@ isolated_build = true
passenv = HOME WINDIR LC_ALL LC_CTYPE CC CI TRAVIS
setenv =
PYTEST_COMMAND = pytest -vvv -r a --pyargs hvpy --cov-report=xml --cov=hvpy --cov-config={toxinidir}/setup.cfg {toxinidir}/docs
+ HELIOVIEWER_API_URL = https://api.beta.helioviewer.org/v2/
# Run the tests in a temporary directory to make sure that we don't import
# the package from the source tree
changedir = .tmp/{envname}