55Created: 2020-08-07
66"""
77
8- from delphi_epidata import Epidata
8+ import covidcast
99
1010
1111def add_prefix (signal_names , wip_signal , prefix : str ):
@@ -17,47 +17,46 @@ def add_prefix(signal_names, wip_signal, prefix: str):
1717 prefix : 'wip_'
1818 prefix for new/non public signals
1919 wip_signal : List[str] or bool
20- Either takes a list of wip signals: [], OR
21- incorporated all signals in the registry: True OR
22- no signals: False
20+ a list of wip signals: [], OR
21+ all signals in the registry: True OR
22+ only signals that have never been published : False
2323 Returns
2424 -------
2525 List of signal names
2626 wip/non wip signals for further computation
2727 """
28- if wip_signal in ("" , False ):
29- return signal_names
30- elif wip_signal and isinstance (wip_signal , bool ):
28+
29+ if wip_signal is True :
30+ return [prefix + signal for signal in signal_names ]
31+ if isinstance (wip_signal , list ):
32+ make_wip = set (wip_signal )
33+ return [
34+ prefix + signal if signal in make_wip else signal
35+ for signal in signal_names
36+ ]
37+ if wip_signal in {False , "" }:
3138 return [
32- ( prefix + signal ) if public_signal (signal )
33- else signal
39+ signal if public_signal (signal )
40+ else prefix + signal
3441 for signal in signal_names
3542 ]
36- elif isinstance (wip_signal , list ):
37- for signal in wip_signal :
38- if public_signal (signal ):
39- signal_names .append (prefix + signal )
40- signal_names .remove (signal )
41- return signal_names
42- else :
43- raise ValueError ("Supply True | False or '' or [] | list()" )
43+ raise ValueError ("Supply True | False or '' or [] | list()" )
4444
4545
4646def public_signal (signal_ ):
47- """Checks if the signal name is already public using Epidata
47+ """Checks if the signal name is already public using COVIDcast
4848 Parameters
4949 ----------
5050 signal_ : str
5151 Name of the signal
5252 Returns
5353 -------
5454 bool
55- True if the signal is not present
56- False if the signal is present
55+ True if the signal is present
56+ False if the signal is not present
5757 """
58- epidata_df = Epidata .covidcast_meta ()
59- for index in range (len (epidata_df ['epidata' ])):
60- if 'signal' in epidata_df ['epidata' ][index ]:
61- if epidata_df ['epidata' ][index ]['signal' ] == signal_ :
62- return False
63- return True
58+ epidata_df = covidcast .metadata ()
59+ for index in range (len (epidata_df )):
60+ if epidata_df ['signal' ][index ] == signal_ :
61+ return True
62+ return False
0 commit comments