Skip to content

Commit d3cbada

Browse files
committed
LITE-28676 Refactoring. Make the order of functions more logical
1 parent 39e12d4 commit d3cbada

File tree

1 file changed

+64
-64
lines changed

1 file changed

+64
-64
lines changed

connect_ext_ppr/tasks_manager.py

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,29 @@ def _check_cbc_task_status(cbc_service, tracking_id):
110110
raise TaskException(f'Something went wrong with task: {tracking_id}')
111111

112112

113+
def check_and_update_product(deployment_request, cbc_service, **kwargs):
114+
if not deployment_request.manually:
115+
116+
product_id = deployment_request.deployment.product_id
117+
118+
response = _execute_with_retries(
119+
cbc_service.get_product_details, func_kwargs={'product_id': product_id},
120+
)
121+
122+
if 'error' in response.keys():
123+
raise Exception(response['error'])
124+
125+
if response.get('isUpdateAvailable'):
126+
response = _execute_with_retries(
127+
cbc_service.update_product, func_kwargs={'product_id': product_id},
128+
)
129+
130+
if 'error' in response.keys():
131+
raise Exception(response['error'])
132+
133+
return True
134+
135+
113136
def prepare_ppr_file_for_task(
114137
connect_client,
115138
file_data,
@@ -168,29 +191,6 @@ def prepare_ppr_file_for_task(
168191
raise TaskException(f'Error while connecting to Connect: {e.message}')
169192

170193

171-
def check_and_update_product(deployment_request, cbc_service, **kwargs):
172-
if not deployment_request.manually:
173-
174-
product_id = deployment_request.deployment.product_id
175-
176-
response = _execute_with_retries(
177-
cbc_service.get_product_details, func_kwargs={'product_id': product_id},
178-
)
179-
180-
if 'error' in response.keys():
181-
raise Exception(response['error'])
182-
183-
if response.get('isUpdateAvailable'):
184-
response = _execute_with_retries(
185-
cbc_service.update_product, func_kwargs={'product_id': product_id},
186-
)
187-
188-
if 'error' in response.keys():
189-
raise Exception(response['error'])
190-
191-
return True
192-
193-
194194
def apply_ppr_and_delegate_to_marketplaces(
195195
deployment_request,
196196
cbc_service,
@@ -278,6 +278,47 @@ def apply_ppr_and_delegate_to_marketplaces(
278278
return True
279279

280280

281+
def delegate_to_l2(deployment_request, cbc_service, connect_client, logger, **kwargs):
282+
"""Task delegates PPR to L2 in Commerce
283+
284+
:param deployment_request: DeploymentRequest model
285+
:param cbc_service: CBC service
286+
:param connect_client: Connect client
287+
:param logger: logger
288+
:rtype bool
289+
:raises TaskException
290+
"""
291+
if deployment_request.manually:
292+
return True
293+
294+
ppr_file_id = deployment_request.ppr.file
295+
deployment = deployment_request.deployment
296+
try:
297+
file_data = get_ppr_from_media(
298+
connect_client,
299+
deployment.account_id,
300+
deployment.id,
301+
ppr_file_id,
302+
)
303+
except ClientError as e:
304+
raise TaskException(f'Error while connecting to Connect: {e.message}')
305+
306+
file = prepare_ppr_file_for_task(
307+
connect_client=connect_client,
308+
file_data=file_data,
309+
file_name_template=PPR_FILE_NAME_DELEGATION_L2,
310+
deployment_request=deployment_request,
311+
deployment=deployment,
312+
process_func=process_ppr_file_for_delelegate_l2,
313+
)
314+
315+
tracking_id = _send_ppr(cbc_service, file)
316+
logger.debug(f'delegate_to_l2 dr_id: {deployment_request.id}, tracking_id: {tracking_id}')
317+
file.close()
318+
_check_cbc_task_status(cbc_service, tracking_id)
319+
return True
320+
321+
281322
def apply_pricelist_task(
282323
deployment_request,
283324
cbc_service,
@@ -354,47 +395,6 @@ def validate_pricelists_task(
354395
return True
355396

356397

357-
def delegate_to_l2(deployment_request, cbc_service, connect_client, logger, **kwargs):
358-
"""Task delegates PPR to L2 in Commerce
359-
360-
:param deployment_request: DeploymentRequest model
361-
:param cbc_service: CBC service
362-
:param connect_client: Connect client
363-
:param logger: logger
364-
:rtype bool
365-
:raises TaskException
366-
"""
367-
if deployment_request.manually:
368-
return True
369-
370-
ppr_file_id = deployment_request.ppr.file
371-
deployment = deployment_request.deployment
372-
try:
373-
file_data = get_ppr_from_media(
374-
connect_client,
375-
deployment.account_id,
376-
deployment.id,
377-
ppr_file_id,
378-
)
379-
except ClientError as e:
380-
raise TaskException(f'Error while connecting to Connect: {e.message}')
381-
382-
file = prepare_ppr_file_for_task(
383-
connect_client=connect_client,
384-
file_data=file_data,
385-
file_name_template=PPR_FILE_NAME_DELEGATION_L2,
386-
deployment_request=deployment_request,
387-
deployment=deployment,
388-
process_func=process_ppr_file_for_delelegate_l2,
389-
)
390-
391-
tracking_id = _send_ppr(cbc_service, file)
392-
logger.debug(f'delegate_to_l2 dr_id: {deployment_request.id}, tracking_id: {tracking_id}')
393-
file.close()
394-
_check_cbc_task_status(cbc_service, tracking_id)
395-
return True
396-
397-
398398
TASK_PER_TYPE = {
399399
TaskTypesChoices.product_setup: check_and_update_product,
400400
TaskTypesChoices.apply_and_delegate: apply_ppr_and_delegate_to_marketplaces,

0 commit comments

Comments
 (0)