Skip to content

Commit 87b80b1

Browse files
authored
Merge pull request #2657 from eerovaher/rm-cgi
Remove all uses of `cgi`
2 parents 630686c + 7e69666 commit 87b80b1

File tree

4 files changed

+15
-17
lines changed

4 files changed

+15
-17
lines changed

astroquery/esa/hsa/core.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Licensed under a 3-clause BSD style license - see LICENSE.rst
22

3-
import cgi
43
import os
54
import re
65
import shutil
6+
from email.message import Message
77
from pathlib import Path
88

99
from astropy import units as u
@@ -113,10 +113,9 @@ def download_data(self, *, retrieval_type="OBSERVATION", observation_id=None,
113113
error = "Please set either 'obervation_id' or 'filename' for the output"
114114
raise ValueError(error)
115115

116-
_, res_params = cgi.parse_header(response.headers['Content-Disposition'])
117-
118-
r_filename = res_params["filename"]
119-
suffixes = Path(r_filename).suffixes
116+
message = Message()
117+
message["content-type"] = response.headers["Content-Disposition"]
118+
suffixes = Path(message.get_param("filename")).suffixes
120119

121120
if len(suffixes) > 1 and suffixes[-1] == ".jpg":
122121
filename += suffixes[-1]
@@ -205,10 +204,9 @@ def get_observation(self, observation_id, instrument_name, *, filename=None,
205204

206205
response.raise_for_status()
207206

208-
_, res_params = cgi.parse_header(response.headers['Content-Disposition'])
209-
210-
r_filename = res_params["filename"]
211-
suffixes = Path(r_filename).suffixes
207+
message = Message()
208+
message["content-type"] = response.headers["Content-Disposition"]
209+
suffixes = Path(message.get_param("filename")).suffixes
212210

213211
if filename is None:
214212
filename = observation_id

astroquery/esa/iso/core.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from astroquery.utils.tap.core import TapPlus
1313
from astroquery.query import BaseQuery
1414
import shutil
15-
import cgi
15+
from email.message import Message
1616
from requests import HTTPError
1717
from pathlib import Path
1818

@@ -122,9 +122,9 @@ def download_data(self, tdt, *, retrieval_type=None, filename=None,
122122
response.raise_for_status()
123123

124124
# Get original extension
125-
_, params = cgi.parse_header(response.headers['Content-Disposition'])
126-
r_filename = params["filename"]
127-
suffixes = Path(r_filename).suffixes
125+
message = Message()
126+
message["content-type"] = response.headers["Content-Disposition"]
127+
suffixes = Path(message.get_param("filename")).suffixes
128128

129129
if filename is None:
130130
filename = tdt

astroquery/esa/xmm_newton/core.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
"""
1111
import re
1212
import shutil
13-
import cgi
1413
from pathlib import Path
1514
import tarfile
1615
import os
1716
import configparser
17+
from email.message import Message
1818

1919
from astropy.io import fits
2020
from astroquery import log
@@ -293,7 +293,9 @@ def _request_link(self, link, cache):
293293
response = self._request('HEAD', link, save=False, cache=cache)
294294
# Get original extension
295295
if 'Content-Type' in response.headers and 'text' not in response.headers['Content-Type']:
296-
_, params = cgi.parse_header(response.headers['Content-Disposition'])
296+
message = Message()
297+
message["content-type"] = response.headers["Content-Disposition"]
298+
params = dict(message.get_params()[1:])
297299
elif response.status_code == 401:
298300
error = "Data protected by proprietary rights. Please check your credentials"
299301
raise LoginError(error)

setup.cfg

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ filterwarnings =
4141
ignore:distutils Version classes are deprecated:DeprecationWarning
4242
# Remove along with astropy-helpers, once we switch to a new versioning scheme
4343
ignore:Use setlocale:DeprecationWarning
44-
# Remove with fix for https://github.com/astropy/astroquery/issues/2628
45-
ignore:\'cgi\' is deprecated and:DeprecationWarning
4644
# Upstream issues in many packages, not clear whether we can do anything about these in astroquery
4745
ignore:unclosed <socket.socket:ResourceWarning
4846
ignore:unclosed <ssl.SSLSocket:ResourceWarning

0 commit comments

Comments
 (0)