Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/dateparser/__init__.py: 100%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

12 statements  

1__version__ = "1.2.0" 

2 

3from .conf import apply_settings 

4from .date import DateDataParser 

5 

6_default_parser = DateDataParser() 

7 

8 

9@apply_settings 

10def parse( 

11 date_string, 

12 date_formats=None, 

13 languages=None, 

14 locales=None, 

15 region=None, 

16 settings=None, 

17 detect_languages_function=None, 

18): 

19 """Parse date and time from given date string. 

20 

21 :param date_string: 

22 A string representing date and/or time in a recognizably valid format. 

23 :type date_string: str 

24 

25 :param date_formats: 

26 A list of format strings using directives as given 

27 `here <https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior>`_. 

28 The parser applies formats one by one, taking into account the detected languages/locales. 

29 :type date_formats: list 

30 

31 :param languages: 

32 A list of language codes, e.g. ['en', 'es', 'zh-Hant']. 

33 If locales are not given, languages and region are used to construct locales for translation. 

34 :type languages: list 

35 

36 :param locales: 

37 A list of locale codes, e.g. ['fr-PF', 'qu-EC', 'af-NA']. 

38 The parser uses only these locales to translate date string. 

39 :type locales: list 

40 

41 :param region: 

42 A region code, e.g. 'IN', '001', 'NE'. 

43 If locales are not given, languages and region are used to construct locales for translation. 

44 :type region: str 

45 

46 :param settings: 

47 Configure customized behavior using settings defined in :mod:`dateparser.conf.Settings`. 

48 :type settings: dict 

49 

50 :param detect_languages_function: 

51 A function for language detection that takes as input a string (the `date_string`) and 

52 a `confidence_threshold`, and returns a list of detected language codes. 

53 Note: this function is only used if ``languages`` and ``locales`` are not provided. 

54 :type detect_languages_function: function 

55 

56 :return: Returns :class:`datetime <datetime.datetime>` representing parsed date if successful, else returns None 

57 :rtype: :class:`datetime <datetime.datetime>`. 

58 :raises: 

59 ``ValueError``: Unknown Language, ``TypeError``: Languages argument must be a list, 

60 ``SettingValidationError``: A provided setting is not valid. 

61 """ 

62 parser = _default_parser 

63 

64 if ( 

65 languages 

66 or locales 

67 or region 

68 or detect_languages_function 

69 or not settings._default 

70 ): 

71 parser = DateDataParser( 

72 languages=languages, 

73 locales=locales, 

74 region=region, 

75 settings=settings, 

76 detect_languages_function=detect_languages_function, 

77 ) 

78 

79 data = parser.get_date_data(date_string, date_formats) 

80 

81 if data: 

82 return data["date_obj"]