16
16
from . import load_species_table
17
17
from .utils import clean_column_headings
18
18
19
+ from astropy .utils .decorators import deprecated_renamed_argument
20
+
19
21
__all__ = ['Splatalogue' , 'SplatalogueClass' ]
20
22
21
23
# example query of SPLATALOGUE directly:
@@ -76,16 +78,18 @@ def set_default_options(self, **kwargs):
76
78
"""
77
79
self .data .update (self ._parse_kwargs (** kwargs ))
78
80
79
- def get_species_ids (self , * , restr = None , reflags = 0 , recache = False ):
81
+ @deprecated_renamed_argument ("restr" , "species_regex" , since = "0.4.7" )
82
+ def get_species_ids (self , species_regex = None , * , reflags = 0 , recache = False ):
80
83
"""
81
84
Get a dictionary of "species" IDs, where species refers to the molecule
82
85
name, mass, and chemical composition.
83
86
84
87
Parameters
85
88
----------
86
- restr : str
87
- String to compile into an re, if specified. Searches table for
88
- species whose names match
89
+ species_regex : str
90
+ String to search for among the species names, if specified.
91
+ The string will be compiled into a regular expression using the
92
+ python `re` module.
89
93
reflags : int
90
94
Flags to pass to `re`.
91
95
recache : bool
@@ -95,7 +99,7 @@ def get_species_ids(self, *, restr=None, reflags=0, recache=False):
95
99
--------
96
100
>>> import re
97
101
>>> import pprint # unfortunate hack required for documentation testing
98
- >>> rslt = Splatalogue.get_species_ids(restr ='Formaldehyde')
102
+ >>> rslt = Splatalogue.get_species_ids(species_regex ='Formaldehyde')
99
103
>>> pprint.pprint(rslt)
100
104
{'03023 H2CO - Formaldehyde': '194',
101
105
'03106 H213CO - Formaldehyde': '324',
@@ -106,8 +110,8 @@ def get_species_ids(self, *, restr=None, reflags=0, recache=False):
106
110
'03204 HD13CO - Formaldehyde': '1219',
107
111
'03301 D213CO - Formaldehyde': '1220',
108
112
'03315 HDC18O - Formaldehyde': '21141',
109
- '0348 D2C18O - Formaldehyde': '21140'}
110
- >>> rslt = Splatalogue.get_species_ids(restr ='H2CO')
113
+ '03410 D2C18O - Formaldehyde': '21140'}
114
+ >>> rslt = Splatalogue.get_species_ids(species_regex ='H2CO')
111
115
>>> pprint.pprint(rslt)
112
116
{'03023 H2CO - Formaldehyde': '194',
113
117
'03109 H2COH+ - Hydroxymethylium ion': '224',
@@ -125,9 +129,9 @@ def get_species_ids(self, *, restr=None, reflags=0, recache=False):
125
129
'08903 CH3CHNH2COOH - II - α-Alanine': '1322'}
126
130
>>> # note the whitespace, preventing H2CO within other
127
131
>>> # more complex molecules
128
- >>> Splatalogue.get_species_ids(restr =' H2CO ')
132
+ >>> Splatalogue.get_species_ids(species_regex =' H2CO ')
129
133
{'03023 H2CO - Formaldehyde': '194'}
130
- >>> Splatalogue.get_species_ids(restr =' h2co ', reflags=re.IGNORECASE)
134
+ >>> Splatalogue.get_species_ids(species_regex =' h2co ', reflags=re.IGNORECASE)
131
135
{'03023 H2CO - Formaldehyde': '194'}
132
136
133
137
"""
@@ -136,8 +140,8 @@ def get_species_ids(self, *, restr=None, reflags=0, recache=False):
136
140
if not hasattr (self , '_species_ids' ):
137
141
self ._species_ids = load_species_table .species_lookuptable (recache = recache )
138
142
139
- if restr is not None :
140
- return self ._species_ids .find (restr , flags = reflags )
143
+ if species_regex is not None :
144
+ return self ._species_ids .find (species_regex , flags = reflags )
141
145
else :
142
146
return self ._species_ids
143
147
@@ -319,7 +323,7 @@ def _parse_kwargs(self, *, min_frequency=None, max_frequency=None,
319
323
payload ['sid[]' ] = []
320
324
elif chemical_name is not None :
321
325
if parse_chemistry_locally :
322
- species_ids = self .get_species_ids (restr = chemical_name , reflags = chem_re_flags )
326
+ species_ids = self .get_species_ids (species_regex = chemical_name , reflags = chem_re_flags )
323
327
if len (species_ids ) == 0 :
324
328
raise ValueError ("No matching chemical species found." )
325
329
payload ['sid[]' ] = list (species_ids .values ())
@@ -419,7 +423,7 @@ def _validate_kwargs(self, *, min_frequency=None, max_frequency=None,
419
423
"a valid Band." )
420
424
421
425
@prepend_docstr_nosections ("\n " + _parse_kwargs .__doc__ )
422
- def query_lines_async (self , * , min_frequency = None , max_frequency = None ,
426
+ def query_lines_async (self , min_frequency = None , max_frequency = None , * ,
423
427
cache = True , ** kwargs ):
424
428
"""
425
429
0 commit comments