1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_10 )
inherit distutils-r1
DESCRIPTION="Python wrapper of telegram bots API"
HOMEPAGE="https://python-telegram-bot.org https://github.com/python-telegram-bot/python-telegram-bot"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/python-telegram-bot/python-telegram-bot"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3"
SLOT="0"
# This error is really strange
# UserWarning: python-telegram-bot is using upstream urllib3. This is allowed but not supported by python-telegram-bot maintainers.
RESTRICT="test"
RDEPEND="
dev-python/certifi[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/decorator[${PYTHON_USEDEP}]
dev-python/future[${PYTHON_USEDEP}]
dev-python/PySocks[${PYTHON_USEDEP}]
dev-python/ujson[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]
dev-python/tornado[${PYTHON_USEDEP}]
"
DEPEND="test? (
dev-python/APScheduler[${PYTHON_USEDEP}]
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/flaky[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/yapf[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest
distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
python_prepare_all() {
# do not make a test flaky report
sed -i -e '/addopts/d' setup.cfg || die
sed -i 's/from telegram.vendor.ptb_urllib3 //g' tests/test_*.py
sed -i 's/telegram.vendor.ptb_urllib3.urllib3/urllib3/g' tests/test_*.py
# Remove tests files that require network access
rm tests/test_{animation,audio,bot,commandhandler,constants,conversationhandler}.py || die
rm tests/test_{dispatcher,document,forcereply,inlinekeyboardmarkup,inputmedia}.py || die
rm tests/test_{invoice,jobqueue,official,parsemode,persistence,photo,sticker,updater}.py || die
rm tests/test_replykeyboard{markup,remove}.py || die
rm tests/test_{video,videonote,voice}.py || die
distutils-r1_python_prepare_all
}
|