Received: by mail.netbsd.org (Postfix, from userid 605) id 3B97B84D4B; Wed, 19 May 2021 11:08:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 7421C84D37 for ; Wed, 19 May 2021 11:08:09 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id 55P20RdYM8O0 for ; Wed, 19 May 2021 11:08:08 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 7570B84D1F for ; Wed, 19 May 2021 11:08:08 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 6EC88FA95; Wed, 19 May 2021 11:08:08 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1621422488241510" MIME-Version: 1.0 Date: Wed, 19 May 2021 11:08:08 +0000 From: "Adam Ciarcinski" Subject: CVS commit: pkgsrc/time/py-aniso8601 To: pkgsrc-changes@NetBSD.org Reply-To: adam@netbsd.org X-Mailer: log_accum Message-Id: <20210519110808.6EC88FA95@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1621422488241510 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: adam Date: Wed May 19 11:08:08 UTC 2021 Modified Files: pkgsrc/time/py-aniso8601: Makefile PLIST distinfo Log Message: py-aniso8601: updated to 9.0.1 aniso8601 9.0.1 =============== Added ----- * Development requirements handled by :code:`extras_require` (install with :code:`pip install -e .[dev]`) * Pre-commit hooks, managed with `pre-commit `_ (install with :code:`pre-commit install`) * Add :code:`readthedocs.yaml` to make configuration explicit Changed ------- * Code formatted with `Black `_ * Imports sorted with `isort `_ * Following `Keep a Changelog `_ for this and future CHANGELOG entries * Removed python-dateutil from :code:`BuildRequires` in specfile as they are no longer required since calendar level duration building was split to a separate project (6.0.0) * Heading level of top of CHANGELOG Fixed ----- * Parsing prescribed durations with only hour and second time components (see `PR 14 `_) * Parsing prescribed durations with only year and day components aniso8601 9.0.0 =============== Changes ------- * Add support for concise interval format (see `27 `_) * Add explicit bounds of [000, 366] to day of year component :code:`_parse_ordinal_date`, this adds the same limits to dates of the format YYYYDDD or YYYY-DDD when using :code:`parse_date` * Add :code:`range_check_date`, :code:`range_check_time`, :code:`range_check_duration`, :code:`range_check_repeating_interval`, and :code:`range_check_timezone` range checking class methods to :code:`BaseTimeBuilder` there are no datetime or non-repeating interval check function as they are made of already checked parts * :code:`PythonTimeBuilder` now calls the appropriate range check functions using the :code:`range_check_date`, :code:`range_check_time`, :code:`range_check_duration`, :code:`range_check_repeating_interval`, and :code:`range_check_timezone` methods defined in :code:`aniso8601.builders` * Add :code:`range_check_duration` to :code:`PythonTimeBuilder` which calls :code:`BaseTimeBuilder.range_check_duration` and performs additional checks against maximum timedelta size * Add :code:`range_check_interval` to :code:`PythonTimeBuilder` which handles building concise dates and performs additional checks against maximum timedelta size * Add :code:`get_datetime_resolution` which behaves like :code:`get_time_resolution` but accepts a ISO 8601 date time as an argument, return value is a :code:`TimeResolution` * Add :code:`exceptions.RangeCheckError` as a parent type of all failures in the range check methods, it descends from :code:`ValueError` * Add :code:`get_duration_resolution` which behaves like other resolution helpers, return value is a :code:`DurationResolution` * Add :code:`get_interval_resolution` which behaves like other resolution helpers, return value is a :code:`IntervalResolution` * Negative durations now fail at the parse step and simply raise :code:`ISOFormatError`, calling a :code:`PythonTimeBuilder.build_duration` directly with a negative duration component will yield an :code:`ISOFormatError` in the range check * Raise :code:`DayOutOfBoundsError` if calendar day exceeds number of days in calendar month * Raise :code:`DayOutOfBoundsError` if ordinal day exceeds number of days in calendar year (366 now raises :code:`DayOutOfBoundsError` in non-leap year) * Raise :code:`ISOFormatError` when date or time string contains extra whitespace * Raise :code:`ISOFormatError` on multiple fraction separators (comma, full-stop) in a time string * Raise :code:`ISOFormatError` when duration contains multiple duration designators ("P"), or time designators ("T") * :code:`PythonTimeBuilder.build_duration` raises :code:`YearOutOfBoundsError`, :code:`MonthOutOfBoundsError`, :code:`WeekOutOfBoundsError`, :code:`HoursOutOfBoundsError`, :code:`MinutesOutOfBoundsError`, or :code:`SecondsOutOfBoundsError` when a given duration component would result in a :code:`timedelta` that would exceed the maximum size * Raise :code:`ISOFormatError` if number of delimiters is not exactly 1 in :code:`parse_interval` * Raise :code:`ISOFormatError` when either part of an interval string before of after the delimiter is empty * Raise :code:`YearOutOfBoundsError` in :code:`PythonTimeBuilder.build_interval` if an interval with a duration would exceed the maximum or minimum years for Python date objects * Simplify :code:`parse_date`, :code:`build_date` will now be called with explicit :code:`None` arguments instead of date components not in the parsed string excluded from the call * Change :code:`get_date_resolution` to call :code:`parse_date` and return the resolution based on the smallest parsed component * Simplify :code:`parse_time`, :code:`build_time` will now be called with explicit :code:`None` arguments instead of date components not in the parsed string excluded from the call * Change :code:`get_time_resolution` to call :code:`parse_time` and return the resolution based on the smallest parsed component * :code:`TupleBuilder` now builds :code:`DateTuple`, :code:`TimeTuple`, :code:`DatetimeTuple`, :code:`DurationTuple`, :code:`IntervalTuple`, :code:`RepeatingIntervalTuple` and :code:`TimezoneTuple` namedtuples * Simplify :code:`parse_duration`, :code:`build_duration` will now be called with explicit :code:`None` arguments when components of a prescribed duration are not present in the ISO 8601 duration string instead of being excluded from the call * Remove unused :code:`decimalfraction.find_separator` * Remove unused :code:`PythonTimeBuilder._split_to_microseconds` * Removed :code:`NegativeDurationError` Deprecation ----------- * **Update on Python 2 support**: Python 2 support was slated to be removed in 7.0.0 but was not, it will remain until a test fails on Python 2 but not Python 3 * Using Setuptools to run tests (:code:`python setup.py tests`) will be removed in the next major or minor version (either 9.1.0, 10.0.0) To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 pkgsrc/time/py-aniso8601/Makefile \ pkgsrc/time/py-aniso8601/distinfo cvs rdiff -u -r1.5 -r1.6 pkgsrc/time/py-aniso8601/PLIST Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1621422488241510 Content-Disposition: inline Content-Length: 2799 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/time/py-aniso8601/Makefile diff -u pkgsrc/time/py-aniso8601/Makefile:1.7 pkgsrc/time/py-aniso8601/Makefile:1.8 --- pkgsrc/time/py-aniso8601/Makefile:1.7 Tue Feb 9 06:58:55 2021 +++ pkgsrc/time/py-aniso8601/Makefile Wed May 19 11:08:08 2021 @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.7 2021/02/09 06:58:55 adam Exp $ +# $NetBSD: Makefile,v 1.8 2021/05/19 11:08:08 adam Exp $ -DISTNAME= aniso8601-8.1.1 +DISTNAME= aniso8601-9.0.1 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= time python MASTER_SITES= ${MASTER_SITE_PYPI:=a/aniso8601/} @@ -10,12 +10,12 @@ HOMEPAGE= https://bitbucket.org/nielsenb COMMENT= Library for parsing ISO 8601 strings LICENSE= modified-bsd +.include "../../lang/python/pyversion.mk" +.if ${_PYTHON_VERSION} == 27 TEST_DEPENDS+= ${PYPKGPREFIX}-mock>=2.0.0:../../devel/py-mock +.endif USE_LANGUAGES= # none -do-test: - cd ${WRKSRC}/aniso8601/tests && ${PYTHONBIN} -m unittest discover -v - .include "../../lang/python/egg.mk" .include "../../mk/bsd.pkg.mk" Index: pkgsrc/time/py-aniso8601/distinfo diff -u pkgsrc/time/py-aniso8601/distinfo:1.7 pkgsrc/time/py-aniso8601/distinfo:1.8 --- pkgsrc/time/py-aniso8601/distinfo:1.7 Tue Feb 9 06:58:55 2021 +++ pkgsrc/time/py-aniso8601/distinfo Wed May 19 11:08:08 2021 @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.7 2021/02/09 06:58:55 adam Exp $ +$NetBSD: distinfo,v 1.8 2021/05/19 11:08:08 adam Exp $ -SHA1 (aniso8601-8.1.1.tar.gz) = a6235d33f75b09fe8228e2eae11557d4538f7e75 -RMD160 (aniso8601-8.1.1.tar.gz) = 64e3f5ea71c5de437fa56a31b7383811e37400b2 -SHA512 (aniso8601-8.1.1.tar.gz) = f9c3412c5e7dec04cca56df5806a747779848adb90137293368b4d50c365692b1d1f792a00f57172925229ccdee34ef5b50cc2d06f4c9b4d697c651e5a2e3674 -Size (aniso8601-8.1.1.tar.gz) = 39143 bytes +SHA1 (aniso8601-9.0.1.tar.gz) = fddd95af07cf49ba844bbe3b70037088643908e6 +RMD160 (aniso8601-9.0.1.tar.gz) = 8ad04ab28aed5de651b589d4fd09db88a126adee +SHA512 (aniso8601-9.0.1.tar.gz) = a17c363a3a67b69a2fde50cc37b080b52615cebc453ef70090498ffce909775b0109c889b63e87381c795c2d8531efd6048542627c88e97297ac22ce81c10c8c +Size (aniso8601-9.0.1.tar.gz) = 47345 bytes Index: pkgsrc/time/py-aniso8601/PLIST diff -u pkgsrc/time/py-aniso8601/PLIST:1.5 pkgsrc/time/py-aniso8601/PLIST:1.6 --- pkgsrc/time/py-aniso8601/PLIST:1.5 Tue Feb 9 06:58:55 2021 +++ pkgsrc/time/py-aniso8601/PLIST Wed May 19 11:08:08 2021 @@ -1,7 +1,8 @@ -@comment $NetBSD: PLIST,v 1.5 2021/02/09 06:58:55 adam Exp $ +@comment $NetBSD: PLIST,v 1.6 2021/05/19 11:08:08 adam Exp $ ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt +${PYSITELIB}/${EGG_INFODIR}/requires.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt ${PYSITELIB}/aniso8601/__init__.py ${PYSITELIB}/aniso8601/__init__.pyc --_----------=_1621422488241510--