summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Create pythonpackage.ymlpganssle-patch-1Paul Ganssle2020-04-011-0/+40
|
* Merge pull request #1017 from ffe4/remove-broken-pgp-mirrorPaul Ganssle2020-03-293-4/+4
|\ | | | | Fix failing build by removing broken mirror in README.rst
| * Fix build by removing broken mirror in README.rstDaniel Lemm2020-03-293-4/+4
|/
* Merge pull request #994 from pganssle/fix_parser_documentationPaul Ganssle2020-03-295-17/+47
|\ | | | | Parser (and other) documentation fixes
| * Improve documentation for parser errors/warningsPaul Ganssle2020-01-021-2/+11
| |
| * Rearrange parser documentationPaul Ganssle2020-01-022-5/+24
| | | | | | | | | | | | | | Previously the parser documentation did not include warnings and exceptions. This rearranges things to cleanly separate out functions, classes and exceptions / warnings, and adds the warnings to the documentation.
| * Document that parser.parse raises ParserErrorPaul Ganssle2020-01-022-4/+6
| |
| * Update documentation linksPaul Ganssle2020-01-022-6/+6
|/ | | | | Periodic update of all links that point to redirects or http targets when an https target is available.
* Merge pull request #993 from pganssle/parsererror_reprPaul Ganssle2020-01-023-2/+13
|\ | | | | Fix custom repr for ParserError
| * Fix custom repr for ParserErrorPaul Ganssle2020-01-023-2/+13
|/ | | | | | | | | | This was originally dead code, because an indentation error had `__repr__` defined after the `return` statement in `__str__`. The definition of the `__repr__` is also changed to be more in line with the conception of a repr as "what you would have to evalue to get this object". Even though this is not guaranteed behavior, this commit also adds a regression test to avoid simple errors like this in the future.
* Merge pull request #987 from eastface/issue_981Paul Ganssle2020-01-024-1/+10
|\ | | | | Fix TypeError in parser's error-wrapping logic
| * Added Mark Bailey to AUTHORS filePaul Ganssle2020-01-021-0/+1
| |
| * Fix TypeError in parser wrapper logicMark Bailey2020-01-023-1/+9
|/ | | | | | | | | | | In attempting to pass-through the string representation of an exception we are wrapping, we made the erroneous assumption that `args[0]` would always be a string (or something that can concatenate cleanly with a string). This turns out not to be the case with `IllegalMonthError`, where it is an integer, so to avoid raising an erroneous `TypeError`, we first convert the wrapped exception to a string. See GH issue #981.
* Merge pull request #990 from pganssle/appveyor_coveragePaul Ganssle2020-01-012-1/+3
|\ | | | | Skip uploading Python 3.4 coverage on Appveyor
| * Skip coverage uploading for Python 3.4 on AppveyorPaul Ganssle2020-01-012-1/+3
|/ | | | | | | | | | | | | Coverage 5.x has made some backwards-incompatible changes to its format and cannot understand the format generated by coverage 4.x. Since coverage 5.x does not support Python 3.4 and the "combine and upload" job is using Python 3.6 (and thus `coverage >= 5`), coverage uploading was broken. It is possible to get this working again, but probably more trouble than it is worth, since as far as I can tell there are no lines hit *only* by the Python 3.4 tests on Windows, so we can leave it out of the combined coverage measurement.
* Merge pull request #982 from pganssle/drop_py33_appveyorPaul Ganssle2019-11-202-4/+6
|\ | | | | Drop Python 3.3 on Appveyor
| * Add changelog for #982Paul Ganssle2019-11-201-0/+1
| |
| * Add Appveyor tests for Python 3.7 and 3.8Paul Ganssle2019-11-201-0/+4
| |
| * Drop Python 3.3 from AppveyorPaul Ganssle2019-11-201-4/+1
|/ | | | | | This has started failing and there's no particularly good reason to keep it around, since we mainly are testing on Python 3.3 to know when to officially drop it from the list of supported platforms.
* Merge pull request #974 from pganssle/release_2.8.12.8.1Paul Ganssle2019-11-0330-53/+80
|\ | | | | Prepare 2.8.1 release
| * Update changelog for 2.8.1 release.Paul Ganssle2019-11-0230-53/+80
|/
* Merge pull request #971 from pganssle/update_releasingPaul Ganssle2019-11-026-71/+73
|\ | | | | Updates to the release process
| * Add changelog for PR #971Paul Ganssle2019-11-021-0/+1
| |
| * Update RELEASING documentationPaul Ganssle2019-11-021-62/+32
| |
| * Change "Misc" to showcontent=TruePaul Ganssle2019-11-022-6/+1
| | | | | | | | | | | | | | | | Many of these miscellaneous items would actually be interesting to downstream consumers, even though they are not "bugfixes" (e.g. changes to the test suite or package metadata). Rather than ask contributors to decide whether their contribution meets this standard, we'll instead manually curate which PRs are "hidden" in the changelog.
| * Add "news" environment to toxPaul Ganssle2019-11-021-0/+9
| | | | | | | | | | Moving to a model where dependencies are provided by `tox` as needed where possible.
| * Fix Travis test for build command.Paul Ganssle2019-11-021-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | The orignal test was using `[ ! -e "dist/*.whl" ]` to try and detect that a wheel was created (and an analogous command for the tarball), but it turns out that this would succeed even if the build command completely fails! The reason is that the shellw as expanding "dist/*.whl" to an empty list, which the conditional took to mean that it didn't need to check for the existence of *any* files. This was replaced by a more robust command that checks that exactly one of each file was created by the build.
| * Add working build and release tox environments.Paul Ganssle2019-11-021-2/+14
|/ | | | | | The build environment was originally broken, and no release environment existed. This allows for the Python dependencies for `release.py` to be satisfied automatically as part of invoking the tox command.
* Merge pull request #973 from pganssle/strong_cache_racePaul Ganssle2019-11-022-11/+19
|\ | | | | Lock around strong cache updates
| * Lock around strong cache updatesPaul Ganssle2019-11-022-11/+19
|/ | | | | | | | | Since the strong cache uses operations in OrderedDict that are not thread-safe in Python 2, it is necessary to acquire a lock while updating the dictionary. When Python 2 support is dropped, we can likely refactor this to avoid locking.
* Merge pull request #928 from koobs/patch-1Paul Ganssle2019-11-022-1/+2
|\ | | | | Fix test_tzlocal_offset_equal[GMT-tzoff1]
| * Fix test_tzlocal_offset_equal[GMT-tzoff1]Kubilay Kocak2019-11-022-1/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | test_tzlocal_offset_equal[GMT-tzoff1] fails if a system does not have a defined (installed) GMT timezone, for example if "Link Etc/GMT GMT" is not defined in the zoneinfo configuration: > assert tz.tzlocal() == tzoff E AssertionError: assert tzlocal() == tzoffset(u'GMT', 0) E -tzlocal() E +tzoffset(u'GMT', 0) An example of such a configuration is FreeBSD, who's default timezone is UTC [1][2]. This configuration results in any "non-present" or undefined TZ name being returned/processed as the default timezone name (in FreeBSD's case, UTC). Further, POSIX does not recognize [3] TZ=GMT or TZ=UTC as valid values because they neither start with a colon nor contain a numeric offset hour field. Accordingly, update the GMT value for this parametrized test to GMT0, a specific (not aliased) timezone, making it more robust to system configuration differences. [1] https://svnweb.freebsd.org/changeset/base/130332 [2] https://svnweb.freebsd.org/changeset/base/199405 [3] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
* Merge pull request #970 from pganssle/add_py38Paul Ganssle2019-11-024-1/+4
|\ | | | | Add Python 3.8 to trove classifiers and Travis.
| * Remove tab character from README.rstPaul Ganssle2019-11-021-1/+1
| |
| * Add Python 3.8 to the trove classifiers.Paul Ganssle2019-11-022-0/+2
| |
| * Add Python 3.8 to Travis buildsPaul Ganssle2019-11-021-0/+1
|/
* Merge pull request #893 from shadchin/fix_testsPaul Ganssle2019-11-024-9/+10
|\ | | | | Fix tests if not TZ change allowed
| * Add Alexander Shadchin to AUTHORS.Alexander Shadchin2019-11-021-0/+1
| |
| * Auto-skip tests when TZ can't be changed.Alexander Shadchin2019-11-023-9/+9
|/ | | | | | At the moment these tests are skipped ad-hoc in the test suite, but we can use `pytest.skip` in the context manager itself to skip them automatically and make things easier on ourselves.
* Merge pull request #935 from labrys/patch-1Paul Ganssle2019-11-024-3/+41
|\ | | | | Fix error message for gettz when passed bytes
| * Add news fragment to changelog.dLabrys of Knossos2019-11-021-0/+1
| |
| * Add tests for gettz zone supports startswithLabrys of Knossos2019-11-021-0/+30
| |
| * Update AUTHORS.mdLabrys of Knossos2019-11-021-1/+1
| |
| * Add helpful message when passed bytes to gettzLabrys of Knossos2019-11-021-2/+9
| | | | | | | | Fixes #927
* | Merge pull request #969 from pganssle/remove_warning_mixinPaul Ganssle2019-11-025-64/+17
|\ \ | |/ |/| Remove WarningTestMixin in favor of pytest.warns
| * Remove WarningTestMixin in favor of pytest.warnsPaul Ganssle2019-11-025-64/+17
|/ | | | | | This was originally added when we were still supporting unittest-only tests, but now that we require pytest, we can switch over to using the built-in pytest.warns context manager.
* Merge pull request #966 from pganssle/pending_deprecation_warningPaul Ganssle2019-10-042-1/+3
|\ | | | | Fix typo in setup.cfg warning configuration
| * Fix typo in setup.cfg warning configurationPaul Ganssle2019-10-042-1/+3
|/ | | | | | | | | It appears that we were relying on the "errors" filter to treat PendingDeprecationWarning as an error due to a typo in setup.cfg. This line is apparently redundant with the "error" line anyway, but it's best to have a working version of it if we're going to have it at all. I am leaving it in place to be explicit that even these "ignored by default" warnings should be errors, in case a default changes later.
* Merge pull request #963 from pganssle/contextlib_importPaul Ganssle2019-09-272-1/+3
|\ | | | | Fix incorrect import in Python 3.7+
| * Fix incorrect import in Python 3.7+Paul Ganssle2019-09-222-1/+3
|/ | | | | | | | | | | | It turns out that the import of `contextlib.nullcontext` in Python 3.7+ was accidentally trying to import `contextmanager.nullcontext`, but this was never noticed because it simply fell back to the backport included here. I do not know of a great way to test this that doesn't rely on implementation details, but I have manually tested it by setting a breakpoint after the import in the `try` statement and importing `dateutil.tz` manually on Python 3.7, so this version should work.