@@ -189,8 +189,13 @@ cdef inline bint does_string_look_like_time(str parse_string):
189
189
return 0 <= hour <= 23 and 0 <= minute <= 59
190
190
191
191
192
- def parse_datetime_string (date_string: str , freq = None , dayfirst = False ,
193
- yearfirst = False , **kwargs ):
192
+ def parse_datetime_string (
193
+ str date_string ,
194
+ object freq = None ,
195
+ bint dayfirst = False ,
196
+ bint yearfirst = False ,
197
+ **kwargs ,
198
+ ):
194
199
"""
195
200
Parse datetime string, only returns datetime.
196
201
Also cares special handling matching time patterns.
@@ -272,8 +277,9 @@ def parse_time_string(arg: str, freq=None, dayfirst=None, yearfirst=None):
272
277
return res
273
278
274
279
275
- cdef parse_datetime_string_with_reso(str date_string, freq = None , dayfirst = False ,
276
- yearfirst = False ):
280
+ cdef parse_datetime_string_with_reso(
281
+ str date_string, object freq = None , bint dayfirst = False , bint yearfirst = False ,
282
+ ):
277
283
"""
278
284
Parse datetime string and try to identify its resolution.
279
285
@@ -467,8 +473,14 @@ cdef inline object _parse_dateabbr_string(object date_string, object default,
467
473
raise ValueError (f' Unable to parse {date_string}' )
468
474
469
475
470
- cdef dateutil_parse(str timestr, object default, ignoretz = False ,
471
- tzinfos = None , dayfirst = None , yearfirst = None ):
476
+ cdef dateutil_parse(
477
+ str timestr,
478
+ object default,
479
+ bint ignoretz = False ,
480
+ object tzinfos = None ,
481
+ bint dayfirst = False ,
482
+ bint yearfirst = False ,
483
+ ):
472
484
""" lifted from dateutil to get resolution"""
473
485
474
486
cdef:
@@ -531,8 +543,9 @@ cdef dateutil_parse(str timestr, object default, ignoretz=False,
531
543
# Parsing for type-inference
532
544
533
545
534
- def try_parse_dates (object[:] values , parser = None ,
535
- dayfirst = False , default = None ):
546
+ def try_parse_dates (
547
+ object[:] values , parser = None , bint dayfirst = False , default = None ,
548
+ ):
536
549
cdef:
537
550
Py_ssize_t i, n
538
551
object [:] result
@@ -569,9 +582,14 @@ def try_parse_dates(object[:] values, parser=None,
569
582
return result.base # .base to access underlying ndarray
570
583
571
584
572
- def try_parse_date_and_time (object[:] dates , object[:] times ,
573
- date_parser = None , time_parser = None ,
574
- dayfirst = False , default = None ):
585
+ def try_parse_date_and_time (
586
+ object[:] dates ,
587
+ object[:] times ,
588
+ date_parser = None ,
589
+ time_parser = None ,
590
+ bint dayfirst = False ,
591
+ default = None ,
592
+ ):
575
593
cdef:
576
594
Py_ssize_t i, n
577
595
object [:] result
@@ -607,8 +625,7 @@ def try_parse_date_and_time(object[:] dates, object[:] times,
607
625
return result.base # .base to access underlying ndarray
608
626
609
627
610
- def try_parse_year_month_day (object[:] years , object[:] months ,
611
- object[:] days ):
628
+ def try_parse_year_month_day (object[:] years , object[:] months , object[:] days ):
612
629
cdef:
613
630
Py_ssize_t i, n
614
631
object [:] result
@@ -705,6 +722,9 @@ class _timelex:
705
722
function maintains a "token stack", for when the ambiguous context
706
723
demands that multiple tokens be parsed at once.
707
724
"""
725
+ cdef:
726
+ Py_ssize_t n
727
+
708
728
stream = self .stream.replace(' \x00 ' , ' ' )
709
729
710
730
# TODO: Change \s --> \s+ (this doesn't match existing behavior)
@@ -760,15 +780,20 @@ def _format_is_iso(f) -> bint:
760
780
return False
761
781
762
782
763
- def _guess_datetime_format (dt_str , dayfirst = False , dt_str_parse = du_parse,
764
- dt_str_split = _DATEUTIL_LEXER_SPLIT):
783
+ def _guess_datetime_format (
784
+ dt_str ,
785
+ bint dayfirst = False ,
786
+ dt_str_parse = du_parse,
787
+ dt_str_split = _DATEUTIL_LEXER_SPLIT,
788
+ ):
765
789
"""
766
790
Guess the datetime format of a given datetime string.
767
791
768
792
Parameters
769
793
----------
770
- dt_str : string, datetime string to guess the format of
771
- dayfirst : boolean, default False
794
+ dt_str : str
795
+ Datetime string to guess the format of.
796
+ dayfirst : bool, default False
772
797
If True parses dates with the day first, eg 20/01/2005
773
798
Warning: dayfirst=True is not strict, but will prefer to parse
774
799
with day first (this is a known bug).
@@ -878,8 +903,7 @@ def _guess_datetime_format(dt_str, dayfirst=False, dt_str_parse=du_parse,
878
903
879
904
@ cython.wraparound (False )
880
905
@ cython.boundscheck (False )
881
- cdef inline object convert_to_unicode(object item,
882
- bint keep_trivial_numbers):
906
+ cdef inline object convert_to_unicode(object item, bint keep_trivial_numbers):
883
907
"""
884
908
Convert `item` to str.
885
909
0 commit comments