From 2578c4f9346f6627ec0d6c7755ed6c62ccf23603 Mon Sep 17 00:00:00 2001 From: Tim Lorsbach Date: Thu, 22 Jan 2026 22:57:28 +0100 Subject: [PATCH 1/2] Made Group a kwarg as its not required in the new system, add session retry --- enviPath_python/enviPath.py | 15 +++++++++++---- enviPath_python/objects.py | 8 ++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/enviPath_python/enviPath.py b/enviPath_python/enviPath.py index 4315408..638e704 100644 --- a/enviPath_python/enviPath.py +++ b/enviPath_python/enviPath.py @@ -15,12 +15,13 @@ # DEALINGS IN THE SOFTWARE. import copy from collections.abc import Iterable -from typing import Union, List +from typing import List import requests from requests import Session from requests.adapters import HTTPAdapter from requests.exceptions import * +from urllib3.util.retry import Retry from enviPath_python.objects import * @@ -288,7 +289,7 @@ def get_groups(self): """ return self.requester.get_objects(self.BASE_URL, Endpoint.GROUP) - def create_package(self, group: 'Group', name: str = None, description: str = None) -> Package: + def create_package(self, group: 'Group' = None, name: str = None, description: str = None) -> Package: """ Function that creates an enviPath package @@ -301,7 +302,7 @@ def create_package(self, group: 'Group', name: str = None, description: str = No :return: The created package :rtype: enviPath_python.objects.Package """ - return Package.create(self, group, name=name, description=description) + return Package.create(self, group=group, name=name, description=description) class enviPathRequester(object): @@ -335,7 +336,13 @@ def __init__(self, eP, proxies=None, adapter=None): """ if adapter is None: - adapter = HTTPAdapter() + retry = Retry( + total=3, + backoff_factor=1, + status_forcelist=[500, 502, 503, 504], + allowed_methods=False, + ) + adapter = HTTPAdapter(max_retries=retry) self.eP = eP self.session = Session() diff --git a/enviPath_python/objects.py b/enviPath_python/objects.py index 8f2e8bd..a9fc3bd 100644 --- a/enviPath_python/objects.py +++ b/enviPath_python/objects.py @@ -507,7 +507,7 @@ def set_access_for_user(self, obj: Union['Group', 'User'], perm: Permission) -> # TODO typing for ep or being consistent with eP.requester... @staticmethod - def create(ep, group: 'Group', name: str = None, description: str = None) -> 'Package': + def create(ep, group: 'Group' = None, name: str = None, description: str = None) -> 'Package': """ Creates the package @@ -519,7 +519,11 @@ def create(ep, group: 'Group', name: str = None, description: str = None) -> 'Pa """ # TODO add type hint for ep and get rid of cyclic import package_payload = dict() - package_payload['groupURI'] = group.get_id() + + # Legacy system expects a group + if ep.new_api is None or not ep.new_api: + package_payload['groupURI'] = group.get_id() + if name: package_payload['packageName'] = name if description: From 1e699dcb1bdffa7739ac29adf8b055554fb65423 Mon Sep 17 00:00:00 2001 From: Tim Lorsbach Date: Thu, 22 Jan 2026 23:05:08 +0100 Subject: [PATCH 2/2] removed unnecessary arg for retry --- enviPath_python/enviPath.py | 1 - 1 file changed, 1 deletion(-) diff --git a/enviPath_python/enviPath.py b/enviPath_python/enviPath.py index 638e704..cc21d7b 100644 --- a/enviPath_python/enviPath.py +++ b/enviPath_python/enviPath.py @@ -340,7 +340,6 @@ def __init__(self, eP, proxies=None, adapter=None): total=3, backoff_factor=1, status_forcelist=[500, 502, 503, 504], - allowed_methods=False, ) adapter = HTTPAdapter(max_retries=retry)