Skip to content

Commit e6f3a74

Browse files
author
03darius
committed
Fixed false negative PR01, PR02 errors in Series
1 parent b0c4194 commit e6f3a74

File tree

2 files changed

+26
-20
lines changed

2 files changed

+26
-20
lines changed

ci/code_checks.sh

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -130,31 +130,11 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
130130
-i "pandas.RangeIndex.start SA01" \
131131
-i "pandas.RangeIndex.step SA01" \
132132
-i "pandas.RangeIndex.stop SA01" \
133-
-i "pandas.Series.cat.add_categories PR01,PR02" \
134-
-i "pandas.Series.cat.as_ordered PR01" \
135-
-i "pandas.Series.cat.as_unordered PR01" \
136-
-i "pandas.Series.cat.remove_categories PR01,PR02" \
137-
-i "pandas.Series.cat.remove_unused_categories PR01" \
138-
-i "pandas.Series.cat.rename_categories PR01,PR02" \
139-
-i "pandas.Series.cat.reorder_categories PR01,PR02" \
140-
-i "pandas.Series.cat.set_categories PR01,PR02" \
141-
-i "pandas.Series.dt.as_unit PR01,PR02" \
142-
-i "pandas.Series.dt.ceil PR01,PR02" \
143-
-i "pandas.Series.dt.day_name PR01,PR02" \
144-
-i "pandas.Series.dt.floor PR01,PR02" \
145133
-i "pandas.Series.dt.freq GL08" \
146134
-i "pandas.Series.dt.microseconds SA01" \
147-
-i "pandas.Series.dt.month_name PR01,PR02" \
148135
-i "pandas.Series.dt.nanoseconds SA01" \
149-
-i "pandas.Series.dt.normalize PR01" \
150136
-i "pandas.Series.dt.qyear GL08" \
151-
-i "pandas.Series.dt.round PR01,PR02" \
152137
-i "pandas.Series.dt.seconds SA01" \
153-
-i "pandas.Series.dt.strftime PR01,PR02" \
154-
-i "pandas.Series.dt.to_period PR01,PR02" \
155-
-i "pandas.Series.dt.total_seconds PR01" \
156-
-i "pandas.Series.dt.tz_convert PR01,PR02" \
157-
-i "pandas.Series.dt.tz_localize PR01,PR02" \
158138
-i "pandas.Series.dt.unit GL08" \
159139
-i "pandas.Series.ge SA01" \
160140
-i "pandas.Series.gt SA01" \

scripts/validate_docstrings.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,32 @@ def pandas_validate(func_name: str):
240240
dict
241241
Information about the docstring and the errors found.
242242
"""
243+
244+
def _get_delegated_func_name(func_name: str) -> str:
245+
method_name = func_name.rsplit(".", 1)[-1]
246+
247+
if "Series.cat" in func_name:
248+
return "pandas.core.arrays.categorical.Categorical." + method_name
249+
if "Series.dt" in func_name:
250+
if method_name in ["as_unit", "ceil", "floor", "round",]:
251+
return "pandas.core.arrays.datetimelike.TimelikeOps." + method_name
252+
if method_name in [
253+
"day_name",
254+
"month_name",
255+
"normalize",
256+
"to_period",
257+
"tz_convert",
258+
"tz_localize",
259+
]:
260+
return "pandas.core.arrays.datetimes.DatetimeArray." + method_name
261+
if method_name in ["strftime",]:
262+
return "pandas.core.arrays.datetimelike.DatelikeOps." + method_name
263+
if method_name in ["total_seconds",]:
264+
return "pandas.core.arrays.timedeltas.TimedeltaArray." + method_name
265+
266+
return func_name
267+
268+
func_name = _get_delegated_func_name(func_name)
243269
func_obj = Validator._load_obj(func_name)
244270
# Some objects are instances, e.g. IndexSlice, which numpydoc can't validate
245271
doc_obj = get_doc_object(func_obj, doc=func_obj.__doc__)

0 commit comments

Comments
 (0)