--- /dev/null
+From aa4af9af0a0a5111a8ad21bc1b43bbdb586ee8af Mon Sep 17 00:00:00 2001
+From: Vincent Bernat <vincent@bernat.ch>
+Date: Sun, 3 Nov 2019 07:48:08 +0100
+Subject: [PATCH] Use shift() instead of replace() to modify dates
+
+Previously, the `replace()` method from arrow was shifting the date
+when the arguments were using the plural form. Since Arrow 0.9.0, this
+has been deprecated in favor of a `shift()` method. Arrow 0.14.5
+completely removed the ability for `replace()` to shift dates. This
+leads to errors like `AttributeError: unknown attribute: "hours"` when
+using plural form.
+
+This commit replace the use of `replace()` by `shift()` since the
+intent is always to shift the current date.
+---
+ jinja2_time/jinja2_time.py | 6 +++---
+ setup.py | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/jinja2_time/jinja2_time.py b/jinja2_time/jinja2_time.py
+index ce713cb..717c8a0 100755
+--- a/jinja2_time/jinja2_time.py
++++ b/jinja2_time/jinja2_time.py
+@@ -19,11 +19,11 @@ def _datetime(self, timezone, operator, offset, datetime_format):
+ d = arrow.now(timezone)
+
+ # Parse replace kwargs from offset and include operator
+- replace_params = {}
++ shift_params = {}
+ for param in offset.split(','):
+ interval, value = param.split('=')
+- replace_params[interval.strip()] = float(operator + value.strip())
+- d = d.replace(**replace_params)
++ shift_params[interval.strip()] = float(operator + value.strip())
++ d = d.shift(**shift_params)
+
+ if datetime_format is None:
+ datetime_format = self.environment.datetime_format
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Jinja2 Extension for Dates and Times"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
RDEPEND="dev-python/arrow[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]"
-DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- ${RDEPEND} )"
+BDEPEND="test? ( dev-python/freezegun[${PYTHON_USEDEP}] )"
-python_test() {
- py.test || die
-}
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${P}-arrow-compat.patch
+)