Skip to content

Commit 17f73aa

Browse files
jbrockmendeljreback
authored andcommitted
CLN: avoid bare except in libfrequencies (#28344)
1 parent 7d5425f commit 17f73aa

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

pandas/_libs/tslibs/frequencies.pyx

+14-10
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ cpdef get_freq_code(freqstr):
138138
-------
139139
return : tuple of base frequency code and stride (mult)
140140
141+
Raises
142+
------
143+
TypeError : if passed a tuple witth incorrect types
144+
141145
Examples
142146
--------
143147
>>> get_freq_code('3D')
@@ -156,16 +160,16 @@ cpdef get_freq_code(freqstr):
156160
if is_integer_object(freqstr[0]) and is_integer_object(freqstr[1]):
157161
# e.g., freqstr = (2000, 1)
158162
return freqstr
163+
elif is_integer_object(freqstr[0]):
164+
# Note: passing freqstr[1] below will raise TypeError if that
165+
# is not a str
166+
code = _period_str_to_code(freqstr[1])
167+
stride = freqstr[0]
168+
return code, stride
159169
else:
160170
# e.g., freqstr = ('T', 5)
161-
try:
162-
code = _period_str_to_code(freqstr[0])
163-
stride = freqstr[1]
164-
except:
165-
if is_integer_object(freqstr[1]):
166-
raise
167-
code = _period_str_to_code(freqstr[1])
168-
stride = freqstr[0]
171+
code = _period_str_to_code(freqstr[0])
172+
stride = freqstr[1]
169173
return code, stride
170174

171175
if is_integer_object(freqstr):
@@ -177,7 +181,7 @@ cpdef get_freq_code(freqstr):
177181
return code, stride
178182

179183

180-
cpdef _base_and_stride(freqstr):
184+
cpdef _base_and_stride(str freqstr):
181185
"""
182186
Return base freq and stride info from string representation
183187
@@ -207,7 +211,7 @@ cpdef _base_and_stride(freqstr):
207211
return base, stride
208212

209213

210-
cpdef _period_str_to_code(freqstr):
214+
cpdef _period_str_to_code(str freqstr):
211215
freqstr = _lite_rule_alias.get(freqstr, freqstr)
212216

213217
if freqstr not in _dont_uppercase:

0 commit comments

Comments
 (0)