@@ -81,6 +81,7 @@ <h1>Source code for pisa.core.events_pi</h1><div class="highlight"><pre>
81
81
< span class ="kn "> from</ span > < span class ="nn "> collections.abc</ span > < span class ="kn "> import</ span > < span class ="n "> Mapping</ span > < span class ="p "> ,</ span > < span class ="n "> Iterable</ span > < span class ="p "> ,</ span > < span class ="n "> Sequence</ span >
82
82
< span class ="kn "> from</ span > < span class ="nn "> collections</ span > < span class ="kn "> import</ span > < span class ="n "> OrderedDict</ span >
83
83
< span class ="kn "> import</ span > < span class ="nn "> copy</ span >
84
+ < span class ="kn "> import</ span > < span class ="nn "> re</ span >
84
85
85
86
< span class ="kn "> import</ span > < span class ="nn "> numpy</ span > < span class ="k "> as</ span > < span class ="nn "> np</ span >
86
87
@@ -633,8 +634,11 @@ <h1>Source code for pisa.core.events_pi</h1><div class="highlight"><pre>
633
634
< span class ="c1 "> # Create the cut expression, and get the resulting mask</ span >
634
635
< span class ="n "> crit_str</ span > < span class ="o "> =</ span > < span class ="n "> keep_criteria</ span >
635
636
< span class ="k "> for</ span > < span class ="n "> variable_name</ span > < span class ="ow "> in</ span > < span class ="n "> variables</ span > < span class ="p "> :</ span >
636
- < span class ="n "> crit_str</ span > < span class ="o "> =</ span > < span class ="n "> crit_str</ span > < span class ="o "> .</ span > < span class ="n "> replace</ span > < span class ="p "> (</ span >
637
- < span class ="n "> variable_name</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'self["</ span > < span class ="si "> %s</ span > < span class ="s1 "> "]["</ span > < span class ="si "> %s</ span > < span class ="s1 "> "]'</ span > < span class ="o "> %</ span > < span class ="p "> (</ span > < span class ="n "> key</ span > < span class ="p "> ,</ span > < span class ="n "> variable_name</ span > < span class ="p "> )</ span >
637
+ < span class ="c1 "> # using word boundary \b to replace whole words only</ span >
638
+ < span class ="n "> crit_str</ span > < span class ="o "> =</ span > < span class ="n "> re</ span > < span class ="o "> .</ span > < span class ="n "> sub</ span > < span class ="p "> (</ span >
639
+ < span class ="sa "> r</ span > < span class ="s1 "> '\b</ span > < span class ="si "> {}</ span > < span class ="s1 "> \b'</ span > < span class ="o "> .</ span > < span class ="n "> format</ span > < span class ="p "> (</ span > < span class ="n "> variable_name</ span > < span class ="p "> ),</ span >
640
+ < span class ="s1 "> 'self["</ span > < span class ="si "> %s</ span > < span class ="s1 "> "]["</ span > < span class ="si "> %s</ span > < span class ="s1 "> "]'</ span > < span class ="o "> %</ span > < span class ="p "> (</ span > < span class ="n "> key</ span > < span class ="p "> ,</ span > < span class ="n "> variable_name</ span > < span class ="p "> ),</ span >
641
+ < span class ="n "> crit_str</ span >
638
642
< span class ="p "> )</ span >
639
643
< span class ="n "> mask</ span > < span class ="o "> =</ span > < span class ="nb "> eval</ span > < span class ="p "> (</ span > < span class ="n "> crit_str</ span > < span class ="p "> )</ span > < span class ="c1 "> # pylint: disable=eval-used</ span >
640
644
0 commit comments