This commit is contained in:
Scott Idem
2022-03-09 17:42:24 -05:00
parent fd23018647
commit 57e3298dc6
4 changed files with 38 additions and 69 deletions

View File

@@ -1,4 +1,3 @@
from __future__ import annotations
import datetime, hashlib, logging, os, pytz, redis, secrets
from typing import Dict, List, Optional, Set, Union
@@ -101,93 +100,71 @@ class Event_File_Base(BaseModel):
#@validator('event_file_id_random', always=True)
def event_file_id_random_copy(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['id_random']:
return values['id_random']
return None
@validator('id', always=True)
def event_file_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['id_random']:
log.debug(values['id_random'])
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='event_file')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_file')
return None
@validator('hosted_file_id', always=True)
def hosted_file_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['hosted_file_id_random']:
return redis_lookup_id_random(record_id_random=values['hosted_file_id_random'], table_name='hosted_file')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('hosted_file_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='hosted_file')
return None
@validator('event_id', always=True)
def event_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_id_random']:
return redis_lookup_id_random(record_id_random=values['event_id_random'], table_name='event')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event')
return None
@validator('event_exhibit_id', always=True)
def event_exhibit_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_exhibit_id_random']:
return redis_lookup_id_random(record_id_random=values['event_exhibit_id_random'], table_name='event_exhibit')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_exhibit_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_exhibit')
return None
@validator('event_location_id', always=True)
def event_location_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_location_id_random']:
return redis_lookup_id_random(record_id_random=values['event_location_id_random'], table_name='event_location')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_location_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_location')
return None
@validator('event_presentation_id', always=True)
def event_presentation_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_presentation_id_random']:
return redis_lookup_id_random(record_id_random=values['event_presentation_id_random'], table_name='event_presentation')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_presentation_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_presentation')
return None
@validator('event_presenter_id', always=True)
def event_presenter_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_presenter_id_random']:
return redis_lookup_id_random(record_id_random=values['event_presenter_id_random'], table_name='event_presenter')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_presenter_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_presenter')
return None
@validator('event_session_id', always=True)
def event_session_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_session_id_random']:
return redis_lookup_id_random(record_id_random=values['event_session_id_random'], table_name='event_session')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_session_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
return None
@validator('event_track_id', always=True)
def event_track_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_track_id_random']:
return redis_lookup_id_random(record_id_random=values['event_track_id_random'], table_name='event_track')
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('event_track_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_track')
return None
# NOTE: I kind of give up on this. Handeling this outside of Pydantic and before the data is even attempted to be loaded into the Event_File_Base model. -STI 2021-09-10