dateparser 1.2.2__tar.gz → 1.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dateparser-1.2.2 → dateparser-1.4.0}/CONTRIBUTING.rst +1 -14
- {dateparser-1.2.2 → dateparser-1.4.0}/HISTORY.rst +55 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/MANIFEST.in +0 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/PKG-INFO +70 -4
- {dateparser-1.2.2 → dateparser-1.4.0}/README.rst +4 -3
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/__init__.py +1 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/conf.py +14 -1
- dateparser-1.4.0/dateparser/data/date_translation_data/bs-Cyrl.py +294 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/en.py +21 -8
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fi.py +1 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ru.py +56 -23
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/languages_info.py +1 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/date.py +41 -18
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/freshness_date_parser.py +35 -9
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/languages/dictionary.py +22 -3
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/languages/locale.py +37 -2
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/search/search.py +18 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/timezone_parser.py +4 -47
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/utils/strptime.py +28 -1
- dateparser-1.4.0/dateparser/utils/time_spans.py +152 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/PKG-INFO +70 -4
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/SOURCES.txt +1 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/requires.txt +1 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_data/settings.py +4 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_scripts/write_complete_data.py +5 -3
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/installation.rst +1 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/introduction.rst +11 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/settings.rst +21 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/supported_locales.rst +1 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/pyproject.toml +6 -1
- {dateparser-1.2.2 → dateparser-1.4.0}/setup.py +3 -3
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_clean_api.py +47 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_date.py +63 -6
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_date_parser.py +198 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_freshness_date_parser.py +20 -7
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_languages.py +56 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_loading.py +50 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_parser.py +25 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_search.py +233 -3
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_utils_strptime.py +65 -0
- dateparser-1.2.2/dateparser/data/date_translation_data/bs-Cyrl.py +0 -226
- dateparser-1.2.2/dateparser/data/dateparser_tz_cache.pkl +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/AUTHORS.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/LICENSE +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/calendars/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/calendars/hijri.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/calendars/hijri_parser.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/calendars/jalali.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/calendars/jalali_parser.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/custom_language_detection/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/custom_language_detection/fasttext.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/custom_language_detection/langdetect.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/custom_language_detection/language_mapping.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/af.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/agq.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ak.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/am.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ar.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/as.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/asa.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ast.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/az-Cyrl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/az-Latn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/az.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bas.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/be.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bem.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bez.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bg.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bm.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/br.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/brx.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bs-Latn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/bs.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ca.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ce.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/cgg.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/chr.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ckb.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/cs.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/cy.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/da.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/dav.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/de.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/dje.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/dsb.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/dua.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/dyo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/dz.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ebu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ee.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/el.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/eo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/es.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/et.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/eu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ewo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fa.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ff.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fil.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fr.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fur.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/fy.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ga.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/gd.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/gl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/gsw.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/gu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/guz.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/gv.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ha.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/haw.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/he.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/hi.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/hr.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/hsb.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/hu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/hy.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/id.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ig.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ii.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/is.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/it.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ja.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/jgo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/jmc.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ka.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kab.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kam.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kde.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kea.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/khq.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ki.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kk.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kln.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/km.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ko.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kok.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ks.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ksb.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ksf.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ksh.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/kw.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ky.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lag.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lb.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lg.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lkt.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ln.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lrc.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lt.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/luo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/luy.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/lv.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mas.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mer.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mfe.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mg.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mgh.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mgo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mk.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ml.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mr.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ms.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mt.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mua.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/my.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/mzn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/naq.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nb.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nd.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ne.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nmg.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nnh.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nus.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/nyn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/om.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/or.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/os.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/pa-Arab.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/pa-Guru.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/pa.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/pl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ps.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/pt.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/qu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/rm.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/rn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ro.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/rof.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/rw.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/rwk.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sah.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/saq.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sbp.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/se.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/seh.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ses.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sg.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/shi-Latn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/shi-Tfng.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/shi.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/si.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sk.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/smn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/so.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sq.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sr-Cyrl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sr-Latn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sr.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sv.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/sw.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ta.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/te.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/teo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/th.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ti.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/tl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/to.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/tr.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/twq.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/tzm.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ug.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/uk.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/ur.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/uz-Arab.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/uz-Cyrl.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/uz-Latn.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/uz.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/vi.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/vun.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/wae.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/xog.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/yav.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/yi.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/yo.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/yue.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/zgh.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/zh-Hans.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/zh-Hant.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/zh.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/data/date_translation_data/zu.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/date_parser.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/languages/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/languages/loader.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/languages/validation.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/parser.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/search/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/search/detection.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/search/text_detection.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/timezones.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser/utils/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/dependency_links.txt +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/entry_points.txt +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/not-zip-safe +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser.egg-info/top_level.txt +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_cli/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_cli/cli.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_cli/exceptions.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_cli/fasttext_manager.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_cli/utils.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_data/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_scripts/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_scripts/get_cldr_data.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_scripts/order_languages.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_scripts/update_supported_languages_and_locales.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/dateparser_scripts/utils.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/Makefile +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/authors.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/conf.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/contributing.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/custom_language_detection.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/dateparser.calendars.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/dateparser.languages.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/dateparser.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/history.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/index.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/make.bat +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/modules.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/template.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/docs/usage.rst +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/setup.cfg +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/__init__.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_data.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_date_data.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_dateparser_data_integrity.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_hijri.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_jalali.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_language_detect.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_pickle.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_settings.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_timezone_parser.py +0 -0
- {dateparser-1.2.2 → dateparser-1.4.0}/tests/test_utils.py +0 -0
|
@@ -76,7 +76,7 @@ installed, this is how you set up your fork for local development::
|
|
|
76
76
|
|
|
77
77
|
$ mkvirtualenv dateparser
|
|
78
78
|
$ cd dateparser/
|
|
79
|
-
$
|
|
79
|
+
$ pip install -e .
|
|
80
80
|
|
|
81
81
|
4. Create a branch for local development::
|
|
82
82
|
|
|
@@ -179,16 +179,3 @@ Whenever the content of
|
|
|
179
179
|
the corresponding documentation table::
|
|
180
180
|
|
|
181
181
|
dateparser_scripts/update_supported_languages_and_locales.py
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
Updating the Timezone Cache
|
|
185
|
-
----------------------------------------------------
|
|
186
|
-
|
|
187
|
-
Whenever the content of
|
|
188
|
-
``dateparser/timezones.py`` is modified you need to rebuild the timezone cache.
|
|
189
|
-
|
|
190
|
-
Run this command:
|
|
191
|
-
``BUILD_TZ_CACHE=1 python -c "import dateparser"``
|
|
192
|
-
|
|
193
|
-
which should update
|
|
194
|
-
``dateparser/data/dateparser_tz_cache.pkl``
|
|
@@ -3,6 +3,61 @@
|
|
|
3
3
|
History
|
|
4
4
|
=======
|
|
5
5
|
|
|
6
|
+
1.4.0 (2026-03-26)
|
|
7
|
+
------------------
|
|
8
|
+
|
|
9
|
+
Security fixes:
|
|
10
|
+
|
|
11
|
+
- Remove import-time loading of timezone offset data from pickle to prevent
|
|
12
|
+
unsafe deserialization from packaged data
|
|
13
|
+
- Replace ``eval()`` use when parsing ``no_word_spacing`` with strict boolean
|
|
14
|
+
parsing to prevent code execution from locale metadata (#1056)
|
|
15
|
+
|
|
16
|
+
New features:
|
|
17
|
+
|
|
18
|
+
- Add support for expressions like "N {interval} from now" in English (#1271)
|
|
19
|
+
- Add support for the ``en-US`` locale (#1222)
|
|
20
|
+
|
|
21
|
+
Fixes:
|
|
22
|
+
|
|
23
|
+
- Honor ``REQUIRE_PARTS`` for ambiguous month-number inputs by retrying with a
|
|
24
|
+
year-biased ``DATE_ORDER`` (#1298)
|
|
25
|
+
- Fix parsing word-number relative phrases such as "two days later" (#1316)
|
|
26
|
+
- Allow md5hash to work in FIPS environments (#1267)
|
|
27
|
+
|
|
28
|
+
Improvements:
|
|
29
|
+
|
|
30
|
+
- Add Bosnian Cyrillic (ijekavica) date translations (#1293)
|
|
31
|
+
- Add a new browser-based demo to the project documentation (#1306)
|
|
32
|
+
- Update installation documentation to replace ``setup.py install`` guidance
|
|
33
|
+
(#1310)
|
|
34
|
+
- Add a project security policy (#1318)
|
|
35
|
+
|
|
36
|
+
1.3.0 (2026-02-04)
|
|
37
|
+
------------------
|
|
38
|
+
|
|
39
|
+
Dropped Python 3.9 support. (#1296)
|
|
40
|
+
|
|
41
|
+
New features:
|
|
42
|
+
|
|
43
|
+
- ``search_dates()`` can now detect time spans from expressions like “past
|
|
44
|
+
month”, “last week”, etc. For details, see the “Time Span Detection” section
|
|
45
|
+
and the ``RETURN_TIME_SPAN``, ``DEFAULT_START_OF_WEEK`` and
|
|
46
|
+
``DEFAULT_DAYS_IN_MONTH`` settings in the documentation. (#1284)
|
|
47
|
+
|
|
48
|
+
Fixes:
|
|
49
|
+
|
|
50
|
+
- Assume the current year if not specified (#1288)
|
|
51
|
+
- Support expressions like “yesterday +1h” (#1303)
|
|
52
|
+
- English: Support most 2-letter day-of-the-week names (#1214)
|
|
53
|
+
- English: Support “in N weeks' time” (#1283)
|
|
54
|
+
- Finnish: Support dates with “klo” (#1301)
|
|
55
|
+
- Russian: Support compound ordinals (#1280)
|
|
56
|
+
|
|
57
|
+
Cleanups and internal improvements:
|
|
58
|
+
|
|
59
|
+
- Fixed year expectation issues in tests. (#1294)
|
|
60
|
+
|
|
6
61
|
1.2.2 (2025-06-26)
|
|
7
62
|
------------------
|
|
8
63
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dateparser
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Date parsing library designed to parse dates from HTML pages
|
|
5
5
|
Home-page: https://github.com/scrapinghub/dateparser
|
|
6
6
|
Author: Scrapinghub
|
|
@@ -13,13 +13,13 @@ Classifier: Intended Audience :: Developers
|
|
|
13
13
|
Classifier: License :: OSI Approved :: BSD License
|
|
14
14
|
Classifier: Natural Language :: English
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
21
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
22
|
-
Requires-Python: >=3.
|
|
22
|
+
Requires-Python: >=3.10
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
License-File: AUTHORS.rst
|
|
25
25
|
Requires-Dist: python-dateutil>=2.7.0
|
|
@@ -31,7 +31,7 @@ Requires-Dist: convertdate>=2.2.1; extra == "calendars"
|
|
|
31
31
|
Requires-Dist: hijridate; extra == "calendars"
|
|
32
32
|
Provides-Extra: fasttext
|
|
33
33
|
Requires-Dist: fasttext>=0.9.1; extra == "fasttext"
|
|
34
|
-
Requires-Dist: numpy<2,>=1.
|
|
34
|
+
Requires-Dist: numpy<2,>=1.22.0; extra == "fasttext"
|
|
35
35
|
Provides-Extra: langdetect
|
|
36
36
|
Requires-Dist: langdetect>=1.0.0; extra == "langdetect"
|
|
37
37
|
Dynamic: author
|
|
@@ -261,6 +261,17 @@ You can extract dates from longer strings of text. They are returned as list of
|
|
|
261
261
|
|
|
262
262
|
:noindex:
|
|
263
263
|
|
|
264
|
+
Time Span Detection
|
|
265
|
+
-------------------
|
|
266
|
+
|
|
267
|
+
The `search_dates` function can detect time spans from expressions like "past month", "last week", etc. When `RETURN_TIME_SPAN` is enabled, it returns start and end dates for the detected period.
|
|
268
|
+
|
|
269
|
+
.. code-block:: python
|
|
270
|
+
|
|
271
|
+
>>> search_dates("Messages from the past month", settings={'RETURN_TIME_SPAN': True})
|
|
272
|
+
[('past month (start)', datetime.datetime(2024, 11, 7, 0, 0)),
|
|
273
|
+
('past month (end)', datetime.datetime(2024, 12, 7, 23, 59, 59, 999999))]
|
|
274
|
+
|
|
264
275
|
Advanced Usage
|
|
265
276
|
==============
|
|
266
277
|
If you need more control over what is being parser check the `settings` section as well as the `using-datedataparser` section.
|
|
@@ -319,6 +330,61 @@ To be able to use them you need to install the `calendar` extra by typing:
|
|
|
319
330
|
History
|
|
320
331
|
=======
|
|
321
332
|
|
|
333
|
+
1.4.0 (2026-03-26)
|
|
334
|
+
------------------
|
|
335
|
+
|
|
336
|
+
Security fixes:
|
|
337
|
+
|
|
338
|
+
- Remove import-time loading of timezone offset data from pickle to prevent
|
|
339
|
+
unsafe deserialization from packaged data
|
|
340
|
+
- Replace ``eval()`` use when parsing ``no_word_spacing`` with strict boolean
|
|
341
|
+
parsing to prevent code execution from locale metadata (#1056)
|
|
342
|
+
|
|
343
|
+
New features:
|
|
344
|
+
|
|
345
|
+
- Add support for expressions like "N {interval} from now" in English (#1271)
|
|
346
|
+
- Add support for the ``en-US`` locale (#1222)
|
|
347
|
+
|
|
348
|
+
Fixes:
|
|
349
|
+
|
|
350
|
+
- Honor ``REQUIRE_PARTS`` for ambiguous month-number inputs by retrying with a
|
|
351
|
+
year-biased ``DATE_ORDER`` (#1298)
|
|
352
|
+
- Fix parsing word-number relative phrases such as "two days later" (#1316)
|
|
353
|
+
- Allow md5hash to work in FIPS environments (#1267)
|
|
354
|
+
|
|
355
|
+
Improvements:
|
|
356
|
+
|
|
357
|
+
- Add Bosnian Cyrillic (ijekavica) date translations (#1293)
|
|
358
|
+
- Add a new browser-based demo to the project documentation (#1306)
|
|
359
|
+
- Update installation documentation to replace ``setup.py install`` guidance
|
|
360
|
+
(#1310)
|
|
361
|
+
- Add a project security policy (#1318)
|
|
362
|
+
|
|
363
|
+
1.3.0 (2026-02-04)
|
|
364
|
+
------------------
|
|
365
|
+
|
|
366
|
+
Dropped Python 3.9 support. (#1296)
|
|
367
|
+
|
|
368
|
+
New features:
|
|
369
|
+
|
|
370
|
+
- ``search_dates()`` can now detect time spans from expressions like “past
|
|
371
|
+
month”, “last week”, etc. For details, see the “Time Span Detection” section
|
|
372
|
+
and the ``RETURN_TIME_SPAN``, ``DEFAULT_START_OF_WEEK`` and
|
|
373
|
+
``DEFAULT_DAYS_IN_MONTH`` settings in the documentation. (#1284)
|
|
374
|
+
|
|
375
|
+
Fixes:
|
|
376
|
+
|
|
377
|
+
- Assume the current year if not specified (#1288)
|
|
378
|
+
- Support expressions like “yesterday +1h” (#1303)
|
|
379
|
+
- English: Support most 2-letter day-of-the-week names (#1214)
|
|
380
|
+
- English: Support “in N weeks' time” (#1283)
|
|
381
|
+
- Finnish: Support dates with “klo” (#1301)
|
|
382
|
+
- Russian: Support compound ordinals (#1280)
|
|
383
|
+
|
|
384
|
+
Cleanups and internal improvements:
|
|
385
|
+
|
|
386
|
+
- Fixed year expectation issues in tests. (#1294)
|
|
387
|
+
|
|
322
388
|
1.2.2 (2025-06-26)
|
|
323
389
|
------------------
|
|
324
390
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<h1 align="center">
|
|
6
6
|
<br/>
|
|
7
7
|
<a href="https://github.com/scrapinghub/dateparser">
|
|
8
|
-
<img src="
|
|
8
|
+
<img src="artwork/dateparser-logo.png" alt="Dateparser" width="500">
|
|
9
9
|
</a>
|
|
10
10
|
<br/>
|
|
11
11
|
</h1>
|
|
@@ -58,12 +58,13 @@ Key Features
|
|
|
58
58
|
- `Search
|
|
59
59
|
dates <https://dateparser.readthedocs.io/en/latest/introduction.html#search-for-dates-in-longer-chunks-of-text>`__
|
|
60
60
|
in longer texts.
|
|
61
|
+
- Time span detection for expressions like "past month", "last week".
|
|
61
62
|
|
|
62
63
|
Online demo
|
|
63
64
|
-----------
|
|
64
65
|
|
|
65
66
|
Do you want to try it out without installing any dependency? Now you can test
|
|
66
|
-
it quickly by visiting `this online demo <https://dateparser-demo
|
|
67
|
+
it quickly by visiting `this online demo <https://gnyman.github.io/dateparser-demo-app/>`__!
|
|
67
68
|
|
|
68
69
|
|
|
69
70
|
|
|
@@ -156,7 +157,7 @@ are executed, you can do so through the
|
|
|
156
157
|
Installation
|
|
157
158
|
------------
|
|
158
159
|
|
|
159
|
-
Dateparser supports Python
|
|
160
|
+
Dateparser supports Python 3.10+. You can install it by doing:
|
|
160
161
|
|
|
161
162
|
::
|
|
162
163
|
|
|
@@ -27,6 +27,9 @@ class Settings:
|
|
|
27
27
|
* `SKIP_TOKENS`
|
|
28
28
|
* `NORMALIZE`
|
|
29
29
|
* `RETURN_TIME_AS_PERIOD`
|
|
30
|
+
* `RETURN_TIME_SPAN`
|
|
31
|
+
* `DEFAULT_START_OF_WEEK`
|
|
32
|
+
* `DEFAULT_DAYS_IN_MONTH`
|
|
30
33
|
* `PARSERS`
|
|
31
34
|
* `DEFAULT_LANGUAGES`
|
|
32
35
|
* `LANGUAGE_DETECTION_CONFIDENCE_THRESHOLD`
|
|
@@ -49,7 +52,9 @@ class Settings:
|
|
|
49
52
|
return "default"
|
|
50
53
|
|
|
51
54
|
keys = sorted(["%s-%s" % (key, str(settings[key])) for key in settings])
|
|
52
|
-
return hashlib.md5(
|
|
55
|
+
return hashlib.md5(
|
|
56
|
+
"".join(keys).encode("utf-8"), usedforsecurity=False
|
|
57
|
+
).hexdigest()
|
|
53
58
|
|
|
54
59
|
@classmethod
|
|
55
60
|
def _get_settings_from_pyfile(cls):
|
|
@@ -229,6 +234,14 @@ def check_settings(settings):
|
|
|
229
234
|
"CACHE_SIZE_LIMIT": {
|
|
230
235
|
"type": int,
|
|
231
236
|
},
|
|
237
|
+
"RETURN_TIME_SPAN": {"type": bool},
|
|
238
|
+
"DEFAULT_START_OF_WEEK": {
|
|
239
|
+
"values": ("monday", "sunday"),
|
|
240
|
+
"type": str,
|
|
241
|
+
},
|
|
242
|
+
"DEFAULT_DAYS_IN_MONTH": {
|
|
243
|
+
"type": int,
|
|
244
|
+
},
|
|
232
245
|
}
|
|
233
246
|
|
|
234
247
|
modified_settings = settings._mod_settings # check only modified settings
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
info = {
|
|
2
|
+
"name": "bs-Cyrl",
|
|
3
|
+
"date_order": "DMY",
|
|
4
|
+
"january": [
|
|
5
|
+
"јан",
|
|
6
|
+
"јануар"
|
|
7
|
+
],
|
|
8
|
+
"february": [
|
|
9
|
+
"феб",
|
|
10
|
+
"фебруар"
|
|
11
|
+
],
|
|
12
|
+
"march": [
|
|
13
|
+
"мар",
|
|
14
|
+
"март"
|
|
15
|
+
],
|
|
16
|
+
"april": [
|
|
17
|
+
"апр",
|
|
18
|
+
"април"
|
|
19
|
+
],
|
|
20
|
+
"may": [
|
|
21
|
+
"мај"
|
|
22
|
+
],
|
|
23
|
+
"june": [
|
|
24
|
+
"јун",
|
|
25
|
+
"јуни"
|
|
26
|
+
],
|
|
27
|
+
"july": [
|
|
28
|
+
"јул",
|
|
29
|
+
"јули"
|
|
30
|
+
],
|
|
31
|
+
"august": [
|
|
32
|
+
"авг",
|
|
33
|
+
"август"
|
|
34
|
+
],
|
|
35
|
+
"september": [
|
|
36
|
+
"сеп",
|
|
37
|
+
"септембар"
|
|
38
|
+
],
|
|
39
|
+
"october": [
|
|
40
|
+
"окт",
|
|
41
|
+
"октобар"
|
|
42
|
+
],
|
|
43
|
+
"november": [
|
|
44
|
+
"нов",
|
|
45
|
+
"новембар"
|
|
46
|
+
],
|
|
47
|
+
"december": [
|
|
48
|
+
"дец",
|
|
49
|
+
"децембар"
|
|
50
|
+
],
|
|
51
|
+
"monday": [
|
|
52
|
+
"пон",
|
|
53
|
+
"понедељак",
|
|
54
|
+
"понедјељак"
|
|
55
|
+
],
|
|
56
|
+
"tuesday": [
|
|
57
|
+
"уто",
|
|
58
|
+
"уторак"
|
|
59
|
+
],
|
|
60
|
+
"wednesday": [
|
|
61
|
+
"сри",
|
|
62
|
+
"сриједа"
|
|
63
|
+
],
|
|
64
|
+
"thursday": [
|
|
65
|
+
"чет",
|
|
66
|
+
"четвртак"
|
|
67
|
+
],
|
|
68
|
+
"friday": [
|
|
69
|
+
"пет",
|
|
70
|
+
"петак"
|
|
71
|
+
],
|
|
72
|
+
"saturday": [
|
|
73
|
+
"суб",
|
|
74
|
+
"субота"
|
|
75
|
+
],
|
|
76
|
+
"sunday": [
|
|
77
|
+
"нед",
|
|
78
|
+
"недеља",
|
|
79
|
+
"недјеља"
|
|
80
|
+
],
|
|
81
|
+
"am": [
|
|
82
|
+
"пре подне",
|
|
83
|
+
"пријеподне"
|
|
84
|
+
],
|
|
85
|
+
"pm": [
|
|
86
|
+
"поподне",
|
|
87
|
+
"послијеподне"
|
|
88
|
+
],
|
|
89
|
+
"year": [
|
|
90
|
+
"година",
|
|
91
|
+
"г",
|
|
92
|
+
"год",
|
|
93
|
+
"годинa"
|
|
94
|
+
],
|
|
95
|
+
"month": [
|
|
96
|
+
"месец",
|
|
97
|
+
"мј",
|
|
98
|
+
"мјесец",
|
|
99
|
+
"мјесеци",
|
|
100
|
+
"мјесеца"
|
|
101
|
+
],
|
|
102
|
+
"week": [
|
|
103
|
+
"недеља",
|
|
104
|
+
"сед",
|
|
105
|
+
"седмица",
|
|
106
|
+
"седмице"
|
|
107
|
+
],
|
|
108
|
+
"day": [
|
|
109
|
+
"дан"
|
|
110
|
+
],
|
|
111
|
+
"hour": [
|
|
112
|
+
"час",
|
|
113
|
+
"сат"
|
|
114
|
+
],
|
|
115
|
+
"minute": [
|
|
116
|
+
"минут",
|
|
117
|
+
"мин",
|
|
118
|
+
"минута"
|
|
119
|
+
],
|
|
120
|
+
"second": [
|
|
121
|
+
"секунд",
|
|
122
|
+
"с",
|
|
123
|
+
"сек",
|
|
124
|
+
"секунда"
|
|
125
|
+
],
|
|
126
|
+
"relative-type": {
|
|
127
|
+
"0 day ago": [
|
|
128
|
+
"данас"
|
|
129
|
+
],
|
|
130
|
+
"0 hour ago": [
|
|
131
|
+
"this hour",
|
|
132
|
+
"овај сат"
|
|
133
|
+
],
|
|
134
|
+
"0 minute ago": [
|
|
135
|
+
"this minute",
|
|
136
|
+
"ова минута"
|
|
137
|
+
],
|
|
138
|
+
"0 month ago": [
|
|
139
|
+
"овог месеца",
|
|
140
|
+
"овај мјесец"
|
|
141
|
+
],
|
|
142
|
+
"0 second ago": [
|
|
143
|
+
"now",
|
|
144
|
+
"сада"
|
|
145
|
+
],
|
|
146
|
+
"0 week ago": [
|
|
147
|
+
"ове недеље",
|
|
148
|
+
"ове седмице"
|
|
149
|
+
],
|
|
150
|
+
"0 year ago": [
|
|
151
|
+
"ове године"
|
|
152
|
+
],
|
|
153
|
+
"1 day ago": [
|
|
154
|
+
"јуче"
|
|
155
|
+
],
|
|
156
|
+
"1 month ago": [
|
|
157
|
+
"прошлог месеца",
|
|
158
|
+
"прошли мјесец"
|
|
159
|
+
],
|
|
160
|
+
"1 week ago": [
|
|
161
|
+
"прошле недеље",
|
|
162
|
+
"прошле седмице"
|
|
163
|
+
],
|
|
164
|
+
"1 year ago": [
|
|
165
|
+
"прошле године"
|
|
166
|
+
],
|
|
167
|
+
"in 1 day": [
|
|
168
|
+
"сутра"
|
|
169
|
+
],
|
|
170
|
+
"in 1 month": [
|
|
171
|
+
"следећег месеца",
|
|
172
|
+
"сљедећи мјесец"
|
|
173
|
+
],
|
|
174
|
+
"in 1 week": [
|
|
175
|
+
"следеће недеље",
|
|
176
|
+
"сљедеће седмице"
|
|
177
|
+
],
|
|
178
|
+
"in 1 year": [
|
|
179
|
+
"следеће године",
|
|
180
|
+
"сљедеће године"
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
"relative-type-regex": {
|
|
184
|
+
"\\1 day ago": [
|
|
185
|
+
"пре (\\d+[.,]?\\d*) дан",
|
|
186
|
+
"пре (\\d+[.,]?\\d*) дана",
|
|
187
|
+
"прије (\\d+[.,]?\\d*) дан",
|
|
188
|
+
"прије (\\d+[.,]?\\d*) дана"
|
|
189
|
+
],
|
|
190
|
+
"\\1 hour ago": [
|
|
191
|
+
"пре (\\d+[.,]?\\d*) сат",
|
|
192
|
+
"пре (\\d+[.,]?\\d*) сати",
|
|
193
|
+
"прије (\\d+[.,]?\\d*) сат",
|
|
194
|
+
"прије (\\d+[.,]?\\d*) сати"
|
|
195
|
+
],
|
|
196
|
+
"\\1 minute ago": [
|
|
197
|
+
"пре (\\d+[.,]?\\d*) минут",
|
|
198
|
+
"пре (\\d+[.,]?\\d*) минута",
|
|
199
|
+
"прије (\\d+[.,]?\\d*) мин",
|
|
200
|
+
"прије (\\d+[.,]?\\d*) минута",
|
|
201
|
+
"прије (\\d+[.,]?\\d*) минуту"
|
|
202
|
+
],
|
|
203
|
+
"\\1 month ago": [
|
|
204
|
+
"пре (\\d+[.,]?\\d*) месец",
|
|
205
|
+
"пре (\\d+[.,]?\\d*) месеци",
|
|
206
|
+
"прије (\\d+[.,]?\\d*) мј",
|
|
207
|
+
"прије (\\d+[.,]?\\d*) мјесец",
|
|
208
|
+
"прије (\\d+[.,]?\\d*) мјесеца",
|
|
209
|
+
"прије (\\d+[.,]?\\d*) мјесеци"
|
|
210
|
+
],
|
|
211
|
+
"\\1 second ago": [
|
|
212
|
+
"пре (\\d+[.,]?\\d*) секунд",
|
|
213
|
+
"пре (\\d+[.,]?\\d*) секунди",
|
|
214
|
+
"прије (\\d+[.,]?\\d*) сек",
|
|
215
|
+
"прије (\\d+[.,]?\\d*) секунда",
|
|
216
|
+
"прије (\\d+[.,]?\\d*) секунду"
|
|
217
|
+
],
|
|
218
|
+
"\\1 week ago": [
|
|
219
|
+
"пре (\\d+[.,]?\\d*) недеља",
|
|
220
|
+
"пре (\\d+[.,]?\\d*) недељу",
|
|
221
|
+
"прије (\\d+[.,]?\\d*) сед",
|
|
222
|
+
"прије (\\d+[.,]?\\d*) седмица",
|
|
223
|
+
"прије (\\d+[.,]?\\d*) седмице",
|
|
224
|
+
"прије (\\d+[.,]?\\d*) седмицу"
|
|
225
|
+
],
|
|
226
|
+
"\\1 year ago": [
|
|
227
|
+
"пре (\\d+[.,]?\\d*) година",
|
|
228
|
+
"пре (\\d+[.,]?\\d*) годину",
|
|
229
|
+
"прије (\\d+[.,]?\\d*) г",
|
|
230
|
+
"прије (\\d+[.,]?\\d*) год",
|
|
231
|
+
"прије (\\d+[.,]?\\d*) година",
|
|
232
|
+
"прије (\\d+[.,]?\\d*) годину"
|
|
233
|
+
],
|
|
234
|
+
"in \\1 day": [
|
|
235
|
+
"за (\\d+[.,]?\\d*) дан",
|
|
236
|
+
"за (\\d+[.,]?\\d*) дана"
|
|
237
|
+
],
|
|
238
|
+
"in \\1 hour": [
|
|
239
|
+
"за (\\d+[.,]?\\d*) сат",
|
|
240
|
+
"за (\\d+[.,]?\\d*) сати"
|
|
241
|
+
],
|
|
242
|
+
"in \\1 minute": [
|
|
243
|
+
"за (\\d+[.,]?\\d*) минут",
|
|
244
|
+
"за (\\d+[.,]?\\d*) минута",
|
|
245
|
+
"за (\\d+[.,]?\\d*) мин",
|
|
246
|
+
"за (\\d+[.,]?\\d*) минута",
|
|
247
|
+
"за (\\d+[.,]?\\d*) минуту"
|
|
248
|
+
],
|
|
249
|
+
"in \\1 month": [
|
|
250
|
+
"за (\\d+[.,]?\\d*) месец",
|
|
251
|
+
"за (\\d+[.,]?\\d*) месеци",
|
|
252
|
+
"за (\\d+[.,]?\\d*) мј",
|
|
253
|
+
"за (\\d+[.,]?\\d*) мјесец",
|
|
254
|
+
"за (\\d+[.,]?\\d*) мјесеца",
|
|
255
|
+
"за (\\d+[.,]?\\d*) мјесеци"
|
|
256
|
+
],
|
|
257
|
+
"in \\1 second": [
|
|
258
|
+
"за (\\d+[.,]?\\d*) секунд",
|
|
259
|
+
"за (\\d+[.,]?\\d*) секунди",
|
|
260
|
+
"за (\\d+[.,]?\\d*) сек",
|
|
261
|
+
"за (\\d+[.,]?\\d*) секунда",
|
|
262
|
+
"за (\\d+[.,]?\\d*) секунду"
|
|
263
|
+
],
|
|
264
|
+
"in \\1 week": [
|
|
265
|
+
"за (\\d+[.,]?\\d*) недеља",
|
|
266
|
+
"за (\\d+[.,]?\\d*) недељу",
|
|
267
|
+
"за (\\d+[.,]?\\d*) сед",
|
|
268
|
+
"за (\\d+[.,]?\\d*) седмица",
|
|
269
|
+
"за (\\d+[.,]?\\d*) седмицу",
|
|
270
|
+
"за (\\d+[.,]?\\d*) седмице"
|
|
271
|
+
],
|
|
272
|
+
"in \\1 year": [
|
|
273
|
+
"за (\\d+[.,]?\\d*) година",
|
|
274
|
+
"за (\\d+[.,]?\\d*) годину",
|
|
275
|
+
"за (\\d+[.,]?\\d*) г",
|
|
276
|
+
"за (\\d+[.,]?\\d*) год"
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
"locale_specific": {},
|
|
280
|
+
"skip": [
|
|
281
|
+
" ",
|
|
282
|
+
"'",
|
|
283
|
+
",",
|
|
284
|
+
"-",
|
|
285
|
+
".",
|
|
286
|
+
"/",
|
|
287
|
+
";",
|
|
288
|
+
"@",
|
|
289
|
+
"[",
|
|
290
|
+
"]",
|
|
291
|
+
"|",
|
|
292
|
+
","
|
|
293
|
+
]
|
|
294
|
+
}
|
|
@@ -51,32 +51,39 @@ info = {
|
|
|
51
51
|
],
|
|
52
52
|
"monday": [
|
|
53
53
|
"mon",
|
|
54
|
-
"monday"
|
|
54
|
+
"monday",
|
|
55
|
+
"mo"
|
|
55
56
|
],
|
|
56
57
|
"tuesday": [
|
|
57
58
|
"tue",
|
|
58
59
|
"tuesday",
|
|
60
|
+
"tu",
|
|
59
61
|
"Tues"
|
|
60
62
|
],
|
|
61
63
|
"wednesday": [
|
|
62
64
|
"wed",
|
|
63
|
-
"wednesday"
|
|
65
|
+
"wednesday",
|
|
66
|
+
"we"
|
|
64
67
|
],
|
|
65
68
|
"thursday": [
|
|
66
69
|
"thu",
|
|
67
|
-
"thursday"
|
|
70
|
+
"thursday",
|
|
71
|
+
"th"
|
|
68
72
|
],
|
|
69
73
|
"friday": [
|
|
70
74
|
"fri",
|
|
71
|
-
"friday"
|
|
75
|
+
"friday",
|
|
76
|
+
"fr"
|
|
72
77
|
],
|
|
73
78
|
"saturday": [
|
|
74
79
|
"sat",
|
|
75
|
-
"saturday"
|
|
80
|
+
"saturday",
|
|
81
|
+
"sa"
|
|
76
82
|
],
|
|
77
83
|
"sunday": [
|
|
78
84
|
"sun",
|
|
79
|
-
"sunday"
|
|
85
|
+
"sunday",
|
|
86
|
+
"su"
|
|
80
87
|
],
|
|
81
88
|
"am": [
|
|
82
89
|
"am"
|
|
@@ -258,6 +265,8 @@ info = {
|
|
|
258
265
|
"in \\1 week": [
|
|
259
266
|
"in (\\d+[.,]?\\d*) week",
|
|
260
267
|
"in (\\d+[.,]?\\d*) weeks",
|
|
268
|
+
"in (\\d+[.,]?\\d*) weeks time",
|
|
269
|
+
"in (\\d+[.,]?\\d*) weeks' time",
|
|
261
270
|
"in (\\d+[.,]?\\d*) wk"
|
|
262
271
|
],
|
|
263
272
|
"in \\1 year": [
|
|
@@ -709,6 +718,9 @@ info = {
|
|
|
709
718
|
"en-UM": {
|
|
710
719
|
"name": "en-UM"
|
|
711
720
|
},
|
|
721
|
+
"en-US": {
|
|
722
|
+
"name": "en-US"
|
|
723
|
+
},
|
|
712
724
|
"en-VC": {
|
|
713
725
|
"name": "en-VC",
|
|
714
726
|
"date_order": "DMY"
|
|
@@ -747,6 +759,7 @@ info = {
|
|
|
747
759
|
"and",
|
|
748
760
|
"at",
|
|
749
761
|
"by",
|
|
762
|
+
"from",
|
|
750
763
|
"just",
|
|
751
764
|
"m",
|
|
752
765
|
"nd",
|
|
@@ -803,13 +816,13 @@ info = {
|
|
|
803
816
|
"(\\d+[.,]?\\d*)h(\\d+[.,]?\\d*)": "\\1:\\2"
|
|
804
817
|
},
|
|
805
818
|
{
|
|
806
|
-
"
|
|
819
|
+
"from\\s+now": "in"
|
|
807
820
|
},
|
|
808
821
|
{
|
|
809
822
|
"less than 1 minute ago": "45 second ago"
|
|
810
823
|
},
|
|
811
824
|
{
|
|
812
|
-
"(\\d+[.,]?\\d
|
|
825
|
+
"(\\d+[.,]?\\d*|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve) (decade|year|month|week|day|hour|minute|second)s? later": "in \\1 \\2"
|
|
813
826
|
},
|
|
814
827
|
{
|
|
815
828
|
"one": "1"
|