commit:     87a7c32ad4ad1052868f0638334bc4ce70796b88
Author:     Kyle Elbert <kcelbert <AT> gmail <DOT> com>
AuthorDate: Tue Apr 30 00:19:46 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Tue Apr 30 00:19:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=87a7c32a

dev-python/cloudflare: add 2.19.4

Signed-off-by: Kyle Elbert <kcelbert <AT> gmail.com>

 dev-python/cloudflare/Manifest                 |  1 +
 dev-python/cloudflare/cloudflare-2.19.4.ebuild | 70 ++++++++++++++++++++++++++
 2 files changed, 71 insertions(+)

diff --git a/dev-python/cloudflare/Manifest b/dev-python/cloudflare/Manifest
index 32f976d4d6..84a9ae7abf 100644
--- a/dev-python/cloudflare/Manifest
+++ b/dev-python/cloudflare/Manifest
@@ -1 +1,2 @@
 DIST cloudflare-2.19.2.gh.tar.gz 145051 BLAKE2B 
cd7c9d9352b055b115af443341dcc4d0a446aaf1ac7b7f8030dce0ff19da185b1effc9a679b8018920ade98cafaaf599af8aea8c57a924e59eb40670a3854b70
 SHA512 
eac9601f9cb9ea5dc140e48fb0f0e042396f6a7ec354f18b815d6c51094799dc3f25e1e69e78f87ec5c612f4304d15f779090962a8f96282d9b2fe8a9abfb690
+DIST cloudflare-2.19.4.gh.tar.gz 151397 BLAKE2B 
c91c95f52314c5177d823ef8f827ea2f76f6cc703260449aea12d54c1b77d061feca15d4bb845f84cfb4fd80789e5064e54d7530daf546d54d17054b9e0b4fda
 SHA512 
8ae11e73760c57b610abfe5e2c8fdc83c2e0b9e07340884925ec9ac3bf5b40b4edf39b2b8ce7330538369d7573146a2ddac195efb0efb4ff657f75fdacb31aed

diff --git a/dev-python/cloudflare/cloudflare-2.19.4.ebuild 
b/dev-python/cloudflare/cloudflare-2.19.4.ebuild
new file mode 100644
index 0000000000..c4a3c1cb13
--- /dev/null
+++ b/dev-python/cloudflare/cloudflare-2.19.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517="setuptools"
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for the Cloudflare v4 API"
+HOMEPAGE="https://pypi.org/project/cloudflare/";
+#SRC_URI="https://files.pythonhosted.org/packages/9b/8c/973e3726c2aa73821bb4272717c6f9f6fc74e69d41ba871bdf97fc671782/${P}.tar.gz";
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/cloudflare/python-cloudflare/archive/refs/tags/${PV}.tar.gz
 -> ${P}.gh.tar.gz"
+S="${WORKDIR}/python-${P}"
+LICENSE="MIT"
+SLOT="0"
+DEPEND="dev-python/jsonlines[${PYTHON_USEDEP}]"
+RDEPEND="( ${DEPEND}
+       dev-python/requests[${PYTHON_USEDEP}]
+       dev-python/pyyaml[${PYTHON_USEDEP}] )"
+PROPERTIES="test_network" #actually sends many test requests
+distutils_enable_tests pytest
+KEYWORDS="~amd64 ~arm64"
+RESTRICT="test mirror" #mirror restricted only because overlay
+
+python_prepare_all() {
+       # don't install tests or examples
+       sed -i -e "s/'cli4', 'examples'/'cli4'/" \
+               -e "s#'CloudFlare/tests',##" \
+                setup.py || die
+       sed -i -e "/def 
test_ips7_should_fail():/[email protected](reason='Now fails upstream')" \
+               -e "2s/^/import pytest/" \
+               CloudFlare/tests/test_cloudflare_calls.py || die
+       distutils-r1_python_prepare_all
+}
+python_test() {
+       pushd  CloudFlare/tests
+       if [ -z "${CLOUDFLARE_API_TOKEN}" ]; then
+               ewarn "Skipping some tests which require an actual cloudflare 
api token"
+               ewarn "To run them, provide the token in the environment 
variable CLOUDFLARE_API_TOKEN"
+               ewarn "The permissions needed are zone dns edit and user 
details read"
+               local EPYTEST_IGNORE=('test_dns_records.py' 
'test_radar_returning_csv.py'
+                       'test_dns_import_export.py' 'test_load_balancers.py' 
'test_log_received.py'
+                       'test_rulesets.py' 'test_urlscanner.py' 
'test_paging_thru_zones.py'
+                       'test_purge_cache.py'
+                       'test_graphql.py' 'test_waiting_room.py' 
'test_workers.py' 'test_cloudflare_calls.py' )
+               # these test(s) need an api key/token setup
+               # Permissions needed are zone dns edit and user details read, 
account worker scripts edit,
+                       #  zone analytics read, zone load balancer edit, 
account ruleset edit, zone firewall edit
+                       # account url scanner edit, zone waiting room edit, 
zone cache purge
+       fi
+       # Not sure what permissions/tokens/whatever this test needs, maybe both 
a token and old api login
+       # tried several of the ssl related options for the cert test but no 
luck either
+       # Tried several of the prefex related options to try to get loa docs 
working but nope
+       local EPYTEST_IGNORE+=('test_images_v2_direct_upload.py' 
'test_issue114.py'
+               'test_certificates.py' 'test_loa_documents.py'
+               'test_load_balancers.py' 'test_rulesets.py')
+       # maybe needs a paid plan or just some unknown permission
+       local EPYTEST_DESELECT=(
+               'test_load_balancers.py::test_load_balancers_list_regions'
+               'test_load_balancers_get_regions'
+               'test_load_balancers.py::test_load_balancers_search'
+               'test_load_balancers.py::test_load_balancers_pools'
+               'test_rulesets.py::test_zones_ruleset_post'
+               'test_rulesets.py::test_zones_rulesets_get_specific'
+               'test_rulesets.py::test_zones_ruleset_delete'
+       )
+       epytest
+}

Reply via email to