@@ -17,32 +17,30 @@ def add_prefix(signal_names, wip_signal, prefix: str):
17
17
prefix : 'wip_'
18
18
prefix for new/non public signals
19
19
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
23
23
Returns
24
24
-------
25
25
List of signal names
26
26
wip/non wip signals for further computation
27
27
"""
28
28
29
- if wip_signal in ("" , False ):
30
- return signal_names
31
- elif wip_signal and isinstance (wip_signal , bool ):
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 )
32
33
return [
33
- (prefix + signal ) if public_signal (signal )
34
- else signal
34
+ (prefix if signal in make_wip else "" ) + signal
35
35
for signal in signal_names
36
36
]
37
- elif isinstance (wip_signal , list ):
38
- for signal in wip_signal :
39
- if public_signal (signal ):
40
- signal_names .append (prefix + signal )
41
- signal_names .remove (signal )
42
- return signal_names
43
- else :
44
- raise ValueError ("Supply True | False or '' or [] | list()" )
45
-
37
+ if wip_signal in {False ,"" }:
38
+ return [
39
+ signal if public_signal (signal )
40
+ else prefix + signal
41
+ for signal in signal_names
42
+ ]
43
+ raise ValueError ("Supply True | False or '' or [] | list()" )
46
44
47
45
# Check if the signal name is public
48
46
def public_signal (signal_ ):
@@ -54,15 +52,14 @@ def public_signal(signal_):
54
52
Returns
55
53
-------
56
54
bool
57
- True if the signal is not present
58
- False if the signal is present
55
+ True if the signal is present
56
+ False if the signal is not present
59
57
"""
60
- epidata_df = covidcast .meta ()
58
+ epidata_df = covidcast .metadata ()
61
59
for index in range (len (epidata_df )):
62
- if 'signal' in epidata_df [index ]:
63
- if epidata_df [index ]['signal' ] == signal_ :
64
- return False
65
- return True
60
+ if epidata_df ['signal' ][index ] == signal_ :
61
+ return True
62
+ return False
66
63
67
64
68
65
def construct_signals (cbg_df , signal_names ):
0 commit comments