Skip to content

Commit

Permalink
Fixing more warnings and removing them from the config
Browse files Browse the repository at this point in the history
  • Loading branch information
bsipocz committed Sep 27, 2022
1 parent fe790d1 commit 814c433
Show file tree
Hide file tree
Showing 22 changed files with 120 additions and 75 deletions.
4 changes: 3 additions & 1 deletion astroquery/alfalfa/tests/test_alfalfa.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ def patch_get_readable_fileobj(request):
@contextmanager
def get_readable_fileobj_mockreturn(filename, **kwargs):
file_obj = data_path(DATA_FILES['spectrum']) # TODO: add images option
yield open(file_obj, 'rb') # read as bytes, assuming FITS
# read as bytes, assuming FITS
with open(file_obj, 'rb') as inputfile:
yield inputfile

mp = request.getfixturevalue("monkeypatch")

Expand Down
6 changes: 3 additions & 3 deletions astroquery/besancon/tests/test_besancon.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ def get_readable_fileobj_mockreturn(filename, **kwargs):
if isinstance(filename, str):
if '1376235131.430670' in filename:
is_binary = kwargs.get('encoding', None) == 'binary'
file_obj = open(data_path('1376235131.430670.resu'),
"r" + ('b' if is_binary else ''))
with open(data_path('1376235131.430670.resu'), "r" + ('b' if is_binary else '')) as file_obj:
yield file_obj
else:
file_obj = filename
yield file_obj
yield file_obj

mp = request.getfixturevalue("monkeypatch")

Expand Down
4 changes: 3 additions & 1 deletion astroquery/cadc/tests/test_cadctap.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,9 @@ def raise_for_status(self):
class CapabilitiesResponse:
def __init__(self):
caps_file = data_path('tap_caps.xml')
self.text = open(caps_file, 'r').read()
with open(caps_file, 'r') as infile:
text = infile.read()
self.text = text

def raise_for_status(self):
pass
Expand Down
3 changes: 2 additions & 1 deletion astroquery/cadc/tests/test_cadctap_remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ def test_query_region(self):
assert len(result) == len(result2[result2['collection'] == 'CFHT'])

# search for a target
results = cadc.query_region(SkyCoord.from_name('M31'), radius=0.016)
with pytest.warns(UserWarning, match='Radius should be of '):
results = cadc.query_region(SkyCoord.from_name('M31'), radius=0.016)
assert len(results) > 20

def test_query_name(self):
Expand Down
13 changes: 9 additions & 4 deletions astroquery/casda/tests/test_casda.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import astropy.units as u
from astropy.table import Table, Column
from astropy.io.votable import parse
from astropy.io.votable.exceptions import W03, W50
from astroquery import log
import numpy as np

Expand Down Expand Up @@ -269,7 +270,8 @@ def test_query_region_async_box(patch_get):


def test_filter_out_unreleased():
all_records = parse(data_path('partial_unreleased.xml'), verify='warn').get_first_table().to_table()
with pytest.warns(W03):
all_records = parse(data_path('partial_unreleased.xml'), verify='warn').get_first_table().to_table()
assert all_records[0]['obs_release_date'] == '2017-08-02T03:51:19.728Z'
assert all_records[1]['obs_release_date'] == '2218-01-02T16:51:00.728Z'
assert all_records[2]['obs_release_date'] == ''
Expand Down Expand Up @@ -331,7 +333,8 @@ def test_stage_data(patch_get):
casda = Casda()
fake_login(casda, USERNAME, PASSWORD)
casda.POLL_INTERVAL = 1
urls = casda.stage_data(table, verbose=True)
with pytest.warns(W50, match="Invalid unit string 'pixels'"):
urls = casda.stage_data(table, verbose=True)
assert urls == ['http://casda.csiro.au/download/web/111-000-111-000/askap_img.fits.checksum',
'http://casda.csiro.au/download/web/111-000-111-000/askap_img.fits']

Expand All @@ -348,7 +351,8 @@ def test_cutout(patch_get):
casda = Casda()
fake_login(casda, USERNAME, PASSWORD)
casda.POLL_INTERVAL = 1
urls = casda.cutout(table, coordinates=centre, radius=radius, verbose=True)
with pytest.warns(W50, match="Invalid unit string 'pixels'"):
urls = casda.cutout(table, coordinates=centre, radius=radius, verbose=True)
assert urls == ['http://casda.csiro.au/download/web/111-000-111-000/cutout.fits.checksum',
'http://casda.csiro.au/download/web/111-000-111-000/cutout.fits']

Expand All @@ -363,7 +367,8 @@ def test_cutout_no_args(patch_get):
casda.POLL_INTERVAL = 1
with pytest.raises(ValueError,
match=r"Please provide cutout parameters such as coordinates, band or channel\."):
casda.cutout(table)
with pytest.warns(W50, match="Invalid unit string 'pixels'"):
casda.cutout(table)


def test_cutout_unauthorised(patch_get):
Expand Down
13 changes: 9 additions & 4 deletions astroquery/exoplanet_orbit_database/exoplanet_orbit_database.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Licensed under a 3-clause BSD style license - see LICENSE.rst
import json
import os
import warnings

from astropy.utils.data import download_file
from astropy.io import ascii
Expand Down Expand Up @@ -30,9 +31,9 @@ def __init__(self):
def param_units(self):
if self._param_units is None:
module_dir = os.path.dirname(os.path.abspath(__file__))
units_file = open(os.path.join(module_dir, 'data',
'exoplanet_orbit_database_units.json'))
self._param_units = json.load(units_file)
filename = os.path.join(module_dir, 'data', 'exoplanet_orbit_database_units.json')
with open(filename) as units_file:
self._param_units = json.load(units_file)

return self._param_units

Expand Down Expand Up @@ -82,7 +83,11 @@ def get_table(self, cache=True, show_progress=True, table_path=None):
except ValueError:
print(f"WARNING: Unit {self.param_units[col]} not recognised")

self._table = QTable(exoplanets_table)
# Masked quantities are not supported in older astropy, warnings are raised for <v5.0
with warnings.catch_warnings():
warnings.filterwarnings('ignore', message='dropping mask in Quantity column',
category=UserWarning)
self._table = QTable(exoplanets_table)

return self._table

Expand Down
5 changes: 4 additions & 1 deletion astroquery/heasarc/tests/test_heasarc_remote_isdc.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
import requests
from astropy.time import Time, TimeDelta

from astropy.time import Time, TimeDelta
import astropy.units as u

from ...heasarc import Heasarc, Conf
from ...utils import commons
from .conftest import parametrization_local_save_remote, MockResponse
Expand Down Expand Up @@ -83,7 +86,7 @@ def test_compare_time(self, patch_get):

heasarc = Heasarc()

month_ago = (Time.now() - TimeDelta(30)).isot[:10]
month_ago = (Time.now() - TimeDelta(30 * u.day)).isot[:10]
today = Time.now().isot[:10]
T = month_ago + " .. " + today

Expand Down
7 changes: 3 additions & 4 deletions astroquery/ipac/irsa/ibe/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
https://irsa.ipac.caltech.edu/ibe/
"""


import os
import webbrowser
from bs4 import BeautifulSoup
Expand Down Expand Up @@ -270,7 +269,7 @@ def list_missions(self, cache=True):
response = self._request('GET', url, timeout=self.TIMEOUT,
cache=cache)

root = BeautifulSoup(response.text)
root = BeautifulSoup(response.text, 'html5lib')
links = root.findAll('a')

missions = [os.path.basename(a.attrs['href'].rstrip('/'))
Expand Down Expand Up @@ -308,7 +307,7 @@ def list_datasets(self, mission=None, cache=True):
response = self._request('GET', url, timeout=self.TIMEOUT,
cache=cache)

root = BeautifulSoup(response.text)
root = BeautifulSoup(response.text, 'html5lib')
links = root.findAll('a')
datasets = [a.text for a in links
if a.attrs['href'].count('/') >= 4 # shown as '..'; ignore
Expand Down Expand Up @@ -362,7 +361,7 @@ def list_tables(self, mission=None, dataset=None, cache=True):
response = self._request('GET', url, timeout=self.TIMEOUT,
cache=cache)

root = BeautifulSoup(response.text)
root = BeautifulSoup(response.text, 'html5lib')
return [tr.find('td').string for tr in root.findAll('tr')[1:]]

# Unfortunately, the URL construction for each data set is different, and
Expand Down
4 changes: 2 additions & 2 deletions astroquery/ipac/irsa/sha/tests/test_sha.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ def data_path(filename):
def get_mockreturn(url, params=None, stream=False, timeout=10, **kwargs):
if stream:
filename = data_path(DATA_FILES['img'])
return MockResponse(open(filename, 'rb').read(),
content_type='image/fits', **kwargs)
with open(filename, 'rb') as infile:
return MockResponse(infile.read(), content_type='image/fits', **kwargs)
elif params['RA'] == 163.6136:
filename = data_path(DATA_FILES['pos_t'])
elif params['NAIFID'] == 2003226:
Expand Down
8 changes: 6 additions & 2 deletions astroquery/ipac/ned/tests/test_ned.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Licensed under a 3-clause BSD style license - see LICENSE.rst

import os
from contextlib import contextmanager

from numpy import testing as npt
import pytest
Expand Down Expand Up @@ -47,12 +48,14 @@ def patch_get(request):

@pytest.fixture
def patch_get_readable_fileobj(request):
@contextmanager
def get_readable_fileobj_mockreturn(filename, cache=True, encoding=None,
show_progress=True):
# Need to read FITS files with binary encoding: should raise error
# otherwise
assert encoding == 'binary'
return open(data_path(DATA_FILES['image']), 'rb')
with open(data_path(DATA_FILES['image']), 'rb') as infile:
yield infile

mp = request.getfixturevalue("monkeypatch")

Expand Down Expand Up @@ -138,7 +141,8 @@ def test_photometry(patch_get):


def test_extract_image_urls():
html_in = open(data_path(DATA_FILES['extract_urls']), 'r').read()
with open(data_path(DATA_FILES['extract_urls']), 'r') as infile:
html_in = infile.read()
url_list = ned.core.Ned._extract_image_urls(html_in)
assert len(url_list) == 5
for url in url_list:
Expand Down
11 changes: 10 additions & 1 deletion astroquery/ipac/nexsci/nasa_exoplanet_archive/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,16 @@ def _fix_units(self, data):
column_data.append(data[col])

# Build the new `QTable` and copy over the data masks if there are any
result = QTable(column_data, names=column_names, masked=len(column_masks) > 0)
# Some units cannot be used for MaskedQuantities, we catch the specific UserWarning
# about them here as the end user can do nothing about this
with warnings.catch_warnings():
colnames_to_ignore = ['surface_gravity', 'st_lum', 'st_lumerr1', 'st_lumerr2',
'st_logg', 'st_loggerr1', 'st_loggerr2']
for column in colnames_to_ignore:
warnings.filterwarnings('ignore', message=f'column {column} has a unit but',
category=UserWarning)
result = QTable(column_data, names=column_names, masked=len(column_masks) > 0)

for key, mask in column_masks.items():
result[key].mask = mask

Expand Down
2 changes: 1 addition & 1 deletion astroquery/mast/tests/test_mast.py
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,7 @@ def test_catalogs_query_criteria(patch_post):
assert isinstance(result, Table)

with pytest.raises(InvalidQueryError) as invalid_query:
mast.Catalogs.query_criteria(catalog="Tic", objectName="M10")
mast.Catalogs.query_criteria(catalog="Tic", objectname="M10")
assert "non-positional" in str(invalid_query.value)


Expand Down
7 changes: 6 additions & 1 deletion astroquery/mpc/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -1302,7 +1302,12 @@ def _parse_result(self, result, **kwargs):
data['epoch'].unit = u.d
data['RA'].unit = u.deg
data['DEC'].unit = u.deg
data['mag'].unit = u.mag

# Masked quantities are not supported in older astropy, warnings are raised for <v5.0
with warnings.catch_warnings():
warnings.filterwarnings('ignore', message='dropping mask in Quantity column',
category=UserWarning)
data['mag'].unit = u.mag

return data

Expand Down
15 changes: 9 additions & 6 deletions astroquery/nvas/tests/test_nvas.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import numpy.testing as npt
import astropy.units as u
import pytest
from astropy.io.fits.verify import VerifyWarning

from ...import nvas
from astroquery.utils.mocks import MockResponse
Expand Down Expand Up @@ -60,11 +61,11 @@ def patch_get_readable_fileobj(request):
def get_readable_fileobj_mockreturn(filename, **kwargs):
encoding = kwargs.get('encoding', None)
if encoding == 'binary':
file_obj = open(data_path(DATA_FILES["image"]), 'rb')
with open(data_path(DATA_FILES["image"]), 'rb') as file_obj:
yield file_obj
else:
file_obj = open(data_path(DATA_FILES["image"]),
"r", encoding=encoding)
yield file_obj
with open(data_path(DATA_FILES["image"]), "r", encoding=encoding) as file_obj:
yield file_obj

mp = request.getfixturevalue("monkeypatch")

Expand Down Expand Up @@ -95,7 +96,8 @@ def test_parse_coordinates(coordinates):


def test_extract_image_urls():
html_in = open(data_path(DATA_FILES['image_search']), 'r').read()
with open(data_path(DATA_FILES['image_search']), 'r') as infile:
html_in = infile.read()
image_list = nvas.core.Nvas.extract_image_urls(html_in)
assert len(image_list) == 2

Expand All @@ -109,7 +111,8 @@ def test_get_images_async(patch_post, patch_parse_coordinates):

def test_get_images(patch_post, patch_parse_coordinates,
patch_get_readable_fileobj):
images = nvas.core.Nvas.get_images(COORDS_GAL, radius='5d0m0s', band='all')
with pytest.warns(VerifyWarning, match="Invalid 'BLANK' keyword in header"):
images = nvas.core.Nvas.get_images(COORDS_GAL, radius='5d0m0s', band='all')
assert images is not None


Expand Down
6 changes: 5 additions & 1 deletion astroquery/ogle/tests/test_ogle.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@
import pytest
from astropy.coordinates import SkyCoord
from astropy import units as u
from astropy.utils.exceptions import AstropyDeprecationWarning

from astroquery.utils.mocks import MockResponse


DATA_FILES = {'gal_0_3': 'gal_0_3.txt'}


Expand Down Expand Up @@ -56,4 +59,5 @@ def test_ogle_list_values(patch_post):
coordinates
"""
co_list = [[0, 0, 0], [3, 3, 3]]
ogle.core.Ogle.query_region(coord=co_list)
with pytest.warns(AstropyDeprecationWarning):
ogle.core.Ogle.query_region(coord=co_list)
2 changes: 1 addition & 1 deletion astroquery/sdss/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,7 @@ def _args_to_payload(self, *, coordinates=None,
else:
if field_help is not True:
warnings.warn(f"{field_help} isn't a valid 'photobj_field' or "
"'specobj_field' field, valid fields are"
"'specobj_field' field, valid fields are "
"returned.")
return {'photoobj_all': photoobj_all,
'specobj_all': specobj_all}
Expand Down
4 changes: 2 additions & 2 deletions astroquery/sdss/tests/test_sdss.py
Original file line number Diff line number Diff line change
Expand Up @@ -538,8 +538,8 @@ def test_field_help_region(patch_request):
existing_s_field = sdss.SDSS.query_region(coords,
field_help='spectroSynFlux_r')

non_existing_field = sdss.SDSS.query_region(coords,
field_help='nonexist')
with pytest.warns(UserWarning, match="nonexist isn't a valid 'photobj_field' or 'specobj_field'"):
non_existing_field = sdss.SDSS.query_region(coords, field_help='nonexist')

assert existing_p_field is None
assert existing_s_field is None
Expand Down
Loading

0 comments on commit 814c433

Please sign in to comment.