|
|
|
# Copyright 1999-2021 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=7
|
|
|
|
|
|
|
|
PYTHON_COMPAT=( python3_{8..10} )
|
|
|
|
inherit distutils-r1
|
|
|
|
|
|
|
|
DESCRIPTION="Flask support for MongoDB and with WTF model forms"
|
|
|
|
HOMEPAGE="https://pypi.org/project/flask-mongoengine/"
|
|
|
|
SRC_URI="
|
|
|
|
https://github.com/MongoEngine/flask-mongoengine/archive/v${PV}.tar.gz
|
|
|
|
-> ${P}.gh.tar.gz"
|
|
|
|
|
|
|
|
LICENSE="BSD"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="amd64"
|
|
|
|
|
|
|
|
RDEPEND=">=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/mongoengine-0.20[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]"
|
|
|
|
BDEPEND="
|
|
|
|
test? (
|
|
|
|
dev-db/mongodb
|
|
|
|
dev-python/python-email-validator[${PYTHON_USEDEP}]
|
|
|
|
)"
|
|
|
|
|
|
|
|
distutils_enable_sphinx docs
|
|
|
|
distutils_enable_tests pytest
|
|
|
|
|
|
|
|
python_prepare_all() {
|
|
|
|
sed -i -e '/addopts/d' setup.cfg || die
|
|
|
|
|
|
|
|
distutils-r1_python_prepare_all
|
|
|
|
}
|
|
|
|
|
|
|
|
python_test() {
|
|
|
|
local EPYTEST_DESELECT=(
|
|
|
|
# fails with mongomock installed
|
|
|
|
tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings
|
|
|
|
)
|
|
|
|
local dbpath=${TMPDIR}/mongo.db
|
|
|
|
local logpath=${TMPDIR}/mongod.log
|
|
|
|
local DB_PORT=27017
|
|
|
|
|
|
|
|
mkdir -p "${dbpath}" || die
|
|
|
|
ebegin "Trying to start mongod on port ${DB_PORT}"
|
|
|
|
|
|
|
|
LC_ALL=C \
|
|
|
|
mongod --dbpath "${dbpath}" --nojournal \
|
|
|
|
--bind_ip 127.0.0.1 --port ${DB_PORT} \
|
|
|
|
--unixSocketPrefix "${TMPDIR}" \
|
|
|
|
--logpath "${logpath}" --fork || die
|
|
|
|
sleep 2
|
|
|
|
|
|
|
|
# Now we need to check if the server actually started...
|
|
|
|
if [[ -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
|
|
|
|
# yay!
|
|
|
|
eend 0
|
|
|
|
else
|
|
|
|
eend 1
|
|
|
|
eerror "Unable to start mongod for tests. Here is the server log:"
|
|
|
|
cat "${logpath}"
|
|
|
|
die "Unable to start mongod for tests."
|
|
|
|
fi
|
|
|
|
|
|
|
|
local failed
|
|
|
|
nonfatal epytest || failed=1
|
|
|
|
|
|
|
|
mongod --dbpath "${dbpath}" --shutdown || die
|
|
|
|
|
|
|
|
[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
|
|
|
|
|
|
|
|
rm -rf "${dbpath}" || die
|
|
|
|
}
|