added methodology for delegating to service, fixed some formatting, cleaned up dangling imports

This commit is contained in:
brmnjsh 2023-09-04 19:50:29 +00:00
parent 8f182ef170
commit 7e68606cc1
4 changed files with 21 additions and 6 deletions

View File

@ -20,11 +20,9 @@ else:
def get_key_from_message(body: dict) -> str:
return body['Records'][0]['s3']['object']['key']
def get_bucket_from_message(body: dict) -> str:
return body['Records'][0]['s3']['bucket']['name']
def get_object(key: str, bucket: str) -> bytes:
return s3.get_object(
Bucket=bucket,

View File

@ -23,7 +23,21 @@ class ServiceListener(Consumer):
# but depending on if we can add the tagset to the sqs message body
# we either extract that and then delegate to the appropriate service
# or get the action tag from the object through the aws helper function
service = FormGenerationService(body)
service = None
key = aws_helper.get_key_from_message(body)
bucket = aws_helper.get_bucket_from_message(body)
action = aws_helper.get_object_tag(key, bucket, 'action')['Value']
logging.info(f'Process starting for {action}')
if action == 'formGeneration':
service = FormGenerationService(body)
elif action == 'abilityEstimation':
service = AbilityEstimationService(body)
else:
logging.error(f'action of type {action} does not exist.')
return
service.process()
logging.info('Process complete for %s', service.file_name)

View File

@ -1,4 +1,8 @@
import logging
from services.base import Base
class AbilityEstimationService(Base):
pass
def process(self):
logging.info('Ability Estimation Service to be implemented...')

View File

@ -1,4 +1,4 @@
import os, json, random, io, logging
import json, random, io, logging
from pulp import LpProblem, LpVariable, LpMinimize, LpMaximize, LpAffineExpression, LpConstraint, LpStatus, lpSum
@ -9,7 +9,6 @@ from lib.errors.item_generation_error import ItemGenerationError
from models.solver_run import SolverRun
from models.solution import Solution
from models.form import Form
from models.item import Item
from models.target import Target
from services.base import Base