in tax-processing-pipeline-python/setup.py [0:0]
def setup():
"""
Run Initialization Steps
"""
created_processors: Dict[str, str] = {}
# Check if processors exist
created_processors = {
processor.type_: get_processor_id(processor.name)
for processor in list_processors(DOCAI_PROJECT_ID, DOCAI_PROCESSOR_LOCATION)
if PROCESSOR_NAME_PREFIX in processor.display_name
}
if created_processors:
write_to_config(created_processors)
return
# List Available Processor Types
available_processor_types = fetch_processor_types(
DOCAI_PROJECT_ID, DOCAI_PROCESSOR_LOCATION
)
# Create Processors
for processor_type in available_processor_types:
processor_type_name = processor_type.type_
if processor_type_name not in TAX_DEMO_PROCESSORS:
# Skip Non-Tax Demo Processors
continue
if not processor_type.allow_creation:
# This demo requires Lending Processors.
print(
f"Project {DOCAI_PROJECT_ID} does not have \
permission to create {processor_type_name}."
)
print(
"If you have a business use case for these processors, you can \
fill out and submit the Document AI limited access \
customer request form."
)
print(ACCESS_REQUEST_URL)
return
display_name = f"{PROCESSOR_NAME_PREFIX}{processor_type_name.lower()}"
print(f"Creating Processor: {display_name}")
try:
processor = create_processor(
DOCAI_PROJECT_ID,
DOCAI_PROCESSOR_LOCATION,
display_name,
processor_type=processor_type_name,
)
except GoogleAPICallError as exception:
print("Could not create processor:", display_name)
print(exception)
return
processor_id = get_processor_id(processor.name)
created_processors[processor_type_name] = processor_id
print(f"Created {display_name}: {processor_id}\n")
write_to_config(created_processors)