Working on general code clean up and Cvent API related

This commit is contained in:
Scott Idem
2022-02-01 12:17:25 -05:00
parent 779bbb2f82
commit 4abf02aa15
7 changed files with 89 additions and 94 deletions

View File

@@ -403,7 +403,7 @@ def create_membership_person_obj(
if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass
else: else:
log.error('Missing or invalid Account ID passed. Failed requirement.') log.error('Missing or invalid Account ID passed. Failed requirement.')
log.info(f'Person ID: {account_id}') log.info(f'Account ID: {account_id}')
if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass
else: else:
log.error('Missing or invalid Person ID passed. Failed requirement.') log.error('Missing or invalid Person ID passed. Failed requirement.')
@@ -415,7 +415,6 @@ def create_membership_person_obj(
membership_person_dict = membership_person_dict_obj membership_person_dict = membership_person_dict_obj
try: try:
membership_person_obj = Membership_Person_Base(**membership_person_dict) membership_person_obj = Membership_Person_Base(**membership_person_dict)
log.debug(membership_person_obj)
except ValidationError as e: except ValidationError as e:
log.error(e.json()) log.error(e.json())
return False return False
@@ -423,6 +422,8 @@ def create_membership_person_obj(
membership_person_obj = membership_person_dict_obj membership_person_obj = membership_person_dict_obj
membership_person_obj.account_id = account_id membership_person_obj.account_id = account_id
membership_person_obj.person_id = person_id membership_person_obj.person_id = person_id
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(membership_person_obj)
membership_person_dict = membership_person_obj.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'membership_cfg', 'membership_person_group_list', 'membership_person_profile', 'membership_person_type', 'membership_group', 'membership_group_list', 'membership_type', 'membership_type_list', 'person', 'product', 'created_on', 'updated_on'}) membership_person_dict = membership_person_obj.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'membership_cfg', 'membership_person_group_list', 'membership_person_profile', 'membership_person_type', 'membership_group', 'membership_group_list', 'membership_type', 'membership_type_list', 'person', 'product', 'created_on', 'updated_on'})
@@ -496,7 +497,7 @@ def create_membership_person_obj(
else: else:
log.debug(f'Returning the Membership Person ID: {membership_person_id}') log.debug(f'Returning the Membership Person ID: {membership_person_id}')
return membership_person_id return membership_person_id
# ### END ### API Membership Person Methods ### create_update_membership_person_obj() ### # ### END ### API Membership Person Methods ### create_membership_person_obj() ###
# ### BEGIN ### API Membership Person Methods ### update_membership_person_obj() ### # ### BEGIN ### API Membership Person Methods ### update_membership_person_obj() ###

View File

@@ -84,9 +84,9 @@ class Address_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values.get('id_random', None): # values['id_random']: if isinstance(v, int) and v > 0: return v
log.debug(values['id_random']) elif id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='address') return redis_lookup_id_random(record_id_random=id_random, table_name='address')
return None return None
@validator('account_id', always=True) @validator('account_id', always=True)
@@ -94,8 +94,9 @@ class Address_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values['account_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') elif id_random := values.get('account_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='account')
return None return None
@validator('contact_id', always=True) @validator('contact_id', always=True)
@@ -103,19 +104,11 @@ class Address_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values.get('contact_id_random', None): # values['contact_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['contact_id_random'], table_name='contact') elif id_random := values.get('contact_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='contact')
return None return None
#@validator('organization_id', always=True)
#def organization_id_lookup(cls, v, values, **kwargs):
#log.setLevel(logging.WARNING)
#log.debug(locals())
#if values['organization_id']:
#return redis_lookup_id_random(record_id_random=values['organization_id'], table_name='organization')
#return None
@validator('for_id', always=True) @validator('for_id', always=True)
def for_id_lookup(cls, v, values, **kwargs): def for_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)

View File

@@ -99,9 +99,9 @@ class Contact_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values.get('id_random', None): # values['id_random']: if isinstance(v, int) and v > 0: return v
log.debug(values['id_random']) elif id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='contact') return redis_lookup_id_random(record_id_random=id_random, table_name='contact')
return None return None
@validator('account_id', always=True) @validator('account_id', always=True)
@@ -109,8 +109,9 @@ class Contact_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values['account_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') elif id_random := values.get('account_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='account')
return None return None
@validator('address_id', always=True) @validator('address_id', always=True)
@@ -118,8 +119,9 @@ class Contact_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values.get('address_id_random', None): if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['address_id_random'], table_name='address') elif id_random := values.get('address_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='address')
return None return None
@validator('linked_address_id', always=True) @validator('linked_address_id', always=True)

View File

@@ -193,8 +193,7 @@ class Membership_Person_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('id_random'):
if id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person') return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person')
return None return None
@@ -204,8 +203,7 @@ class Membership_Person_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('account_id_random'):
if id_random := values.get('account_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='account') return redis_lookup_id_random(record_id_random=id_random, table_name='account')
return None return None
@@ -233,8 +231,7 @@ class Membership_Person_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('membership_type_id_random'):
if id_random := values.get('membership_type_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='membership_type') return redis_lookup_id_random(record_id_random=id_random, table_name='membership_type')
return None return None
@@ -244,8 +241,7 @@ class Membership_Person_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('membership_person_type_id_random'):
if id_random := values.get('membership_person_type_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person_type') return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person_type')
return None return None
@@ -255,8 +251,7 @@ class Membership_Person_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('person_id_random'):
if id_random := values.get('person_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='person') return redis_lookup_id_random(record_id_random=id_random, table_name='person')
return None return None

View File

@@ -95,8 +95,7 @@ class Membership_Person_Type_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('id_random'):
if id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person_type') return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person_type')
return None return None
@@ -106,8 +105,7 @@ class Membership_Person_Type_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('account_id_random'):
if id_random := values.get('account_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='account') return redis_lookup_id_random(record_id_random=id_random, table_name='account')
return None return None
@@ -117,8 +115,7 @@ class Membership_Person_Type_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('membership_type_id_random'):
if id_random := values.get('membership_type_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='membership_type') return redis_lookup_id_random(record_id_random=id_random, table_name='membership_type')
return None return None
@@ -128,8 +125,7 @@ class Membership_Person_Type_Base(BaseModel):
log.debug(locals()) log.debug(locals())
if isinstance(v, int) and v > 0: return v if isinstance(v, int) and v > 0: return v
elif id_random := values.get('product_id_random'):
if id_random := values.get('product_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='product') return redis_lookup_id_random(record_id_random=id_random, table_name='product')
return None return None

View File

@@ -159,9 +159,9 @@ class Person_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values.get('id_random', None): # 'id_random' in values and values['id_random']: if isinstance(v, int) and v > 0: return v
log.debug(values['id_random']) elif id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='person') return redis_lookup_id_random(record_id_random=id_random, table_name='person')
return None return None
@validator('account_id', always=True) @validator('account_id', always=True)
@@ -169,8 +169,9 @@ class Person_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values['account_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') elif id_random := values.get('account_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='account')
return None return None
@validator('contact_id', always=True) @validator('contact_id', always=True)
@@ -178,8 +179,9 @@ class Person_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values.get('contact_id_random', None): # values['contact_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['contact_id_random'], table_name='contact') elif id_random := values.get('contact_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='contact')
return None return None
@validator('organization_id', always=True) @validator('organization_id', always=True)
@@ -187,8 +189,9 @@ class Person_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values['organization_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['organization_id_random'], table_name='organization') elif id_random := values.get('organization_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='organization')
return None return None
@validator('user_id', always=True) @validator('user_id', always=True)
@@ -196,8 +199,9 @@ class Person_Base(BaseModel):
log.setLevel(logging.WARNING) log.setLevel(logging.WARNING)
log.debug(locals()) log.debug(locals())
if values['user_id_random']: if isinstance(v, int) and v > 0: return v
return redis_lookup_id_random(record_id_random=values['user_id_random'], table_name='user') elif id_random := values.get('user_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='user')
return None return None
class Config: class Config:

View File

@@ -195,51 +195,55 @@ async def get_person(
if result := get_person_rec_w_external_id(account_id=account_id, external_id=person_external_id): if result := get_person_rec_w_external_id(account_id=account_id, external_id=person_external_id):
log.debug(result) log.debug(result)
person_id = result.get('person_id') person_id = result.get('person_id')
log.info(f'Person ID {person_id} found.') log.info(f'Person ID {person_id} found using external ID.')
person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True, inc_membership_person=True, inc_membership_person_type=True)
log.debug(person_obj)
person_data['id'] = person_id
person_data['account_id'] = account_id
person_data['contact']['id'] = person_obj.contact.id
person_data['contact']['address']['id'] = person_obj.contact.address.id
log.debug(person_data)
membership_person_id = person_obj.membership_person.id
membership_person_data['id'] = person_obj.membership_person.id
membership_person_data['membership_person_type']['id'] = person_obj.membership_person.membership_person_type.id
if update_membership_person_obj(membership_person_id=membership_person_id, membership_person_dict_obj=membership_person_data):
log.info(f'Updated Membership Person ID: {membership_person_id}')
else:
log.info(f'Did not update Membership Person ID: {membership_person_id}')
person_data['membership_person'] = membership_person_data
return mk_resp(data=person_data, status_message='Updated and loaded person based on Cvent contact information', response=commons.response)
# try:
# person_obj = Person_Base(**person_data)
# log.debug(person_obj)
# except ValidationError as e:
# log.error(e.json())
# return False
update_person_kiss(person_id=person_id, person_dict_obj=person_obj)
person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True)
log.debug(person_obj)
return mk_resp(data=person_obj, status_message='Updated and loaded person based on Cvent contact information', response=commons.response)
elif email := cvent_contact_obj.get('email'): elif email := cvent_contact_obj.get('email'):
log.info(f'Looking up person with Email Address: {email}') log.info(f'Looking up person with Email Address: {email}')
if result := get_person_rec_list(for_obj_type='account', for_obj_id=account_id, email=email): if result := get_person_rec_list(for_obj_type='account', for_obj_id=account_id, email=email):
log.debug(result[0]) log.debug(result[0])
person_id = result[0].get('person_id') person_id = result[0].get('person_id')
log.info(f'Person ID {person_id} found.') log.info(f'Person ID {person_id} found using email address.')
else: else:
log.info(f'External ID and Email Address were not found.') log.info(f'External ID and Email Address were not found.')
person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True, inc_membership_person=True, inc_membership_person_type=True)
log.debug(person_obj)
person_data['id'] = person_id
person_data['account_id'] = account_id
person_data['contact']['id'] = person_obj.contact.id
person_data['contact']['address']['id'] = person_obj.contact.address.id
log.debug(person_data)
if update_person_kiss(person_id=person_id, person_dict_obj=person_obj):
log.info(f'Updated Person ID: {person_id}')
else:
log.info(f'Did not update Person ID: {person_id}')
membership_person_id = person_obj.membership_person.id
membership_person_data['id'] = person_obj.membership_person.id
membership_person_data['membership_person_type']['id'] = person_obj.membership_person.membership_person_type.id
if update_membership_person_obj(membership_person_id=membership_person_id, membership_person_dict_obj=membership_person_data):
log.info(f'Updated Membership Person ID: {membership_person_id}')
else:
log.info(f'Did not update Membership Person ID: {membership_person_id}')
person_data['membership_person'] = membership_person_data
return mk_resp(data=person_data, status_message='Updated and loaded person based on Cvent contact information', response=commons.response)
# try:
# person_obj = Person_Base(**person_data)
# log.debug(person_obj)
# except ValidationError as e:
# log.error(e.json())
# return False
person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True)
log.debug(person_obj)
return mk_resp(data=person_obj, status_message='Updated and loaded person based on Cvent contact information', response=commons.response)
return mk_resp(data=person_data, status_message='Got Cvent contact information', response=commons.response) return mk_resp(data=person_data, status_message='Got Cvent contact information', response=commons.response)