Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
RKrahl committed Dec 12, 2021
2 parents 3ee4474 + 8c06ada commit 8500e79
Show file tree
Hide file tree
Showing 59 changed files with 4,224 additions and 608 deletions.
5 changes: 3 additions & 2 deletions .travis_require → .github/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
PyYAML <=5.2 ; python_version == '3.4'
PyYAML ; python_version > '3.4'
PyYAML >=5.4
distutils-pytest
lark-parser
pytest >=3.6.0
pytest-dependency >=0.2
python-dateutil
setuptools_scm
29 changes: 29 additions & 0 deletions .github/workflows/run-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Run Test
on: [push, pull_request]
jobs:
Test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version:
- '3.6'
- '3.7'
- '3.8'
- '3.9'
- '3.10'
os: [ubuntu-latest]
steps:
- name: Check out repository code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r .github/requirements.txt
- name: Test with pytest
run: |
python setup.py test
14 changes: 0 additions & 14 deletions .travis.yml

This file was deleted.

106 changes: 106 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,110 @@ Changelog
=========


0.6 (2021-12-12)
~~~~~~~~~~~~~~~~

New features
------------

+ `#52`_, `#70`_: Add a `backup-tool` script.

+ `#54`_: Add command line flags `--directory <dir>` to
`archive-tool create`. The script will change into this directory
prior creating the archive if provided.

+ `#54`_: Add new keyword argument `fileinfos` that :class:`Manifest`
and :meth:`Archive.create` accept.

+ `#57`_, `#66`_: Add :func:`diff_manifest`. The `archive-tool diff`
command with `--report-meta` flag also reports differences in file
system metadata for directories and symbol links.

+ `#50`_, `#51`_: Add a header with some metadata to the index in a
mail archive created by :class:`MailArchive`.

+ `#62`_, `#63`_: Explicitely select POSIX.1-2001 (pax) format in the
tarfile. This fixes failing verification if the archive contains a
directory with a long path name.

+ `#67`_: Add :mod:`archive.index` providing :class:`ArchiveIndex`.

Incompatible changes
--------------------

+ `#60`_: Drop support for Python 3.4 and 3.5.

+ The `comment` keyword argument to :class:`MailArchive` has been
dropped, ref. `#51`_.

Bug fixes and minor changes
---------------------------

+ `#59`_: Change :attr:`Archive.path` to the absolute path of the
archive.

+ `#57`_: Do not take the paths relative to the base directory in the
`archive-tool diff` command.

+ `#58`_: Weaken the condition introduced in `#9`_ that basedir must
be a directory.

+ `#61`_: Review date helper functions in :mod:`archive.tools`

- Add :func:`date_str_rfc5322`.

- :func:`parse_date` now also accepts date strings as returned by
:meth:`datetime.datetime.isoformat`.

+ Make `compression` keyword argument to :meth:`Archive.create`
optional. The default will be derived from the suffixes of the
`path` argument.

+ `#65`_: Add a method :meth:`Archive.extract_member` to extract an
individual member of the archive.

+ `#53`_, `#54`_: Spurious :exc:`FileNotFoundError` from
:meth:`Archive.create` when passing a relative path as `workdir`
argument.

+ `#55`_, `#57`_: `archive-tool diff` fails with :exc:`TypeError`.

+ `#56`_, `#57`_: Inconsistent result from `archive-tool diff` with
option `--skip-dir-content`.

+ `#64`_, `#65`_: :meth:`Archive.extract` does not preserve the file
modification time for symbol links.

+ `#48`_: Review and standardize some error messages.

Internal changes
----------------

+ `#68`_: Add :mod:`archive.config`.

.. _#48: https://github.com/RKrahl/archive-tools/pull/48
.. _#50: https://github.com/RKrahl/archive-tools/issues/50
.. _#51: https://github.com/RKrahl/archive-tools/pull/51
.. _#52: https://github.com/RKrahl/archive-tools/issues/52
.. _#53: https://github.com/RKrahl/archive-tools/issues/53
.. _#54: https://github.com/RKrahl/archive-tools/pull/54
.. _#55: https://github.com/RKrahl/archive-tools/issues/55
.. _#56: https://github.com/RKrahl/archive-tools/issues/56
.. _#57: https://github.com/RKrahl/archive-tools/pull/57
.. _#58: https://github.com/RKrahl/archive-tools/pull/58
.. _#59: https://github.com/RKrahl/archive-tools/pull/59
.. _#60: https://github.com/RKrahl/archive-tools/pull/60
.. _#61: https://github.com/RKrahl/archive-tools/pull/61
.. _#62: https://github.com/RKrahl/archive-tools/issues/62
.. _#63: https://github.com/RKrahl/archive-tools/pull/63
.. _#64: https://github.com/RKrahl/archive-tools/issues/64
.. _#65: https://github.com/RKrahl/archive-tools/pull/65
.. _#66: https://github.com/RKrahl/archive-tools/pull/66
.. _#67: https://github.com/RKrahl/archive-tools/pull/67
.. _#68: https://github.com/RKrahl/archive-tools/pull/68
.. _#70: https://github.com/RKrahl/archive-tools/pull/70


0.5.1 (2020-12-12)
~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -170,3 +274,5 @@ Bug fixes and minor changes
~~~~~~~~~~~~~~~~

+ Initial release.

.. _#9: https://github.com/RKrahl/archive-tools/issues/9
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
include .version
include CHANGES.rst
include LICENSE.txt
include MANIFEST.in
include README.rst
include tests/conftest.py
include tests/data/.sha256
include tests/data/legacy-1_0.tar.gz
include tests/data/mailarchive-legacy-1_0.tar.xz
include tests/data/mails.tar.gz
include tests/data/manifest.yaml
include tests/data/msg.txt
include tests/data/rnd.dat
include tests/data/rnd2.dat
include tests/data/rnd2bis.dat
include tests/pytest.ini
include tests/test_*.py
19 changes: 12 additions & 7 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
|travis| |pypi|

.. |travis| image:: https://img.shields.io/travis/com/RKrahl/archive-tools
:target: https://travis-ci.com/RKrahl/archive-tools
:alt: Travis build status
|gh-test| |pypi|

.. |gh-test| image:: https://img.shields.io/github/workflow/status/RKrahl/archive-tools/Run%20Test
:target: https://github.com/RKrahl/archive-tools/actions/workflows/run-tests.yaml
:alt: GitHub Workflow Status

.. |pypi| image:: https://img.shields.io/pypi/v/archive-tools
:target: https://pypi.org/project/archive-tools/
:alt: PyPI version
Expand Down Expand Up @@ -50,12 +50,16 @@ System requirements

Python:

+ Python 3.4 or newer.
+ Python 3.6 or newer.

Required library packages:

+ `PyYAML`_

+ `lark-parser`_

Required for the `backup-tool.py` script.

Optional library packages:

+ `imapclient`_
Expand Down Expand Up @@ -122,7 +126,7 @@ the site-packages directory of your Python installation.
Copyright and License
---------------------

Copyright 2019–2020 Rolf Krahl
Copyright 2019–2021 Rolf Krahl

Licensed under the `Apache License`_, Version 2.0 (the "License"); you
may not use this file except in compliance with the License.
Expand All @@ -136,6 +140,7 @@ permissions and limitations under the License.

.. _PyPI site: https://pypi.org/project/archive-tools/
.. _PyYAML: http://pyyaml.org/wiki/PyYAML
.. _lark-parser: https://github.com/lark-parser/lark
.. _imapclient: https://github.com/mjs/imapclient/
.. _python-dateutil: https://dateutil.readthedocs.io/en/stable/
.. _setuptools_scm: https://github.com/pypa/setuptools_scm/
Expand Down
Loading

0 comments on commit 8500e79

Please sign in to comment.