44from ..settings import env
55from ..settings import log as logger
66
7- DMS_API_URL : str = env .str ("DMS_API_URL" )
8- DMS_API_TOKEN : str = env .str ("DMS_TOKEN" )
9-
10- client = httpx .Client (
11- base_url = DMS_API_URL , headers = {"Authorization" : f"Token { DMS_API_TOKEN } " }
12- )
7+ DMS_API_URL : str = env .str ("DMS_API_URL" , "" )
8+ DMS_API_TOKEN : str = env .str ("DMS_TOKEN" , "" )
139
1410
1511@backoff .on_exception (
1814 max_tries = 5 ,
1915 jitter = backoff .full_jitter ,
2016)
21- def create_dms_element (endpoint , element_id , create_data ):
17+ def create_dms_element (client , endpoint , element_id , create_data ):
2218 try :
2319 logger .info (f"creating { endpoint [:- 1 ]} { element_id } in DMS" )
2420 res = client .post (f"{ endpoint } /" , json = create_data )
@@ -35,7 +31,14 @@ def create_dms_element(endpoint, element_id, create_data):
3531 max_tries = 5 ,
3632 jitter = backoff .full_jitter ,
3733)
38- def upsert_dms_element (endpoint , element_id , create_data , update_data = None ):
34+ def upsert_dms_element (
35+ endpoint ,
36+ element_id ,
37+ create_data ,
38+ update_data = None ,
39+ base_url : str = DMS_API_URL ,
40+ token : str = DMS_API_TOKEN ,
41+ ):
3942 """
4043 Generic function to upsert (create or update) a DMS API element.
4144
@@ -48,6 +51,10 @@ def upsert_dms_element(endpoint, element_id, create_data, update_data=None):
4851 Returns:
4952 bool: True if element was created, False if updated
5053 """
54+ client = httpx .Client (
55+ base_url = base_url , headers = {"Authorization" : f"Token { token } " }
56+ )
57+
5158 if update_data is None :
5259 update_data = create_data .copy ()
5360
@@ -71,7 +78,10 @@ def upsert_dms_element(endpoint, element_id, create_data, update_data=None):
7178 if e .response .status_code == 404 :
7279 # Element doesn't exist, create it
7380 create_dms_element (
74- element_id = element_id , endpoint = endpoint , create_data = create_data
81+ client = client ,
82+ element_id = element_id ,
83+ endpoint = endpoint ,
84+ create_data = create_data ,
7585 )
7686 return True
7787 else :
0 commit comments