Select to view content in your preferred language

Error Consolidating Toolbox for Project Template Creation

448
1
01-20-2025 02:01 PM
JessicaKnapp21
Emerging Contributor

I have two custom models inside a toolbox in my project. I am receiving ERROR 001659. I tried reviewing the python version of my models but would love help seeing if there is a syntax error preventing the consolidation. I copied the python from exporting to a python window below. I'm going to be honest, I don't really know what I'm doing with python, so any help would be appreciated.

Tool 1:

#For inline variable substitution, parameters passed as a String are evaluated using locals(), globals() and isinstance(). To override, substitute values directly.
def Model1(Geodatabase_Location, File_GDB_Name, Input_Boundary_Dataset_nps_boundary_, Template_Datasets, Expression, Field_Matching_

Tool 2Type): # Create_Boundary_Layer

# To allow overwriting outputs change overwriteOutput option to True.
arcpy.env.overwriteOutput = False


# Process: Create File Geodatabase (Create File Geodatabase) (management)
Geodatabase_Location_5 = arcpy.management.CreateFileGDB(out_folder_path=Geodatabase_Location.__str__().format(**locals(),**globals())if isinstance(Geodatabase_Location, str) else Geodatabase_Location, out_name=File_GDB_Name.__str__().format(**locals(),**globals())if isinstance(File_GDB_Name, str) else File_GDB_Name, out_version="CURRENT")[0]

# Process: Create Feature Dataset (Create Feature Dataset) (management)
Bndy_ovleraps = arcpy.management.CreateFeatureDataset(out_dataset_path=Geodatabase_Location.__str__().format(**locals(),**globals())if isinstance(Geodatabase_Location, str) else Geodatabase_Location, out_name="Bndy_ovleraps", spatial_reference="PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]];-20037700 -30241100 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision")[0]

# Process: Create Feature Class (Create Feature Class) (management)
Boundary_overlap = arcpy.management.CreateFeatureclass(out_path=Bndy_ovleraps, out_name="Boundary_overlap", template=Template_Datasets.__str__().format(**locals(),**globals())if isinstance(Template_Datasets, str) else Template_Datasets)[0]

# Process: Append (Append) (management)
Boundary_overlap_2_, Appended_Row_Count, Updated_Row_Count = arcpy.management.Append(inputs=Input_Boundary_Dataset_nps_boundary_.__str__().format(**locals(),**globals())if isinstance(Input_Boundary_Dataset_nps_boundary_, str) else Input_Boundary_Dataset_nps_boundary_, target=Boundary_overlap, schema_type=Field_Matching_Type.__str__().format(**locals(),**globals())if isinstance(Field_Matching_Type, str) else Field_Matching_Type, expression=Expression.__str__().format(**locals(),**globals())if isinstance(Expression, str) else Expression)

# Process: Alter Field (Alter Field) (management)
Updated_Input_Table = arcpy.management.AlterField(in_table=Boundary_overlap_2_, field="")[0]

if __name__ == '__main__':
# Global Environment settings
with arcpy.EnvManager(scratchWorkspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb", workspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb"):
Model1(*argv[1:])

 

Tool 2:

#Required only when there are SubModel(s)
import sys
sys.path.append(r"C:\Users\jmknapp\AppData\Local\Temp\1\ArcGISProTemp21192")
# -*- coding: utf-8 -*-
"""
Generated by ArcGIS ModelBuilder on : 2025-01-20 14:58:15
"""
import arcpy
from sys import argv

#For inline variable substitution, parameters passed as a String are evaluated using locals(), globals() and isinstance(). To override, substitute values directly.
def Model2(Input_Feature_Dataset_Made_in_Step_1_, Insert_Geodatabase_Created_in_Step_1_, Input_Feature_Class_Made_in_Step_1_, Rule_Type): # Create_Topology_and__Error_Feature_Class

# To allow overwriting outputs change overwriteOutput option to True.
arcpy.env.overwriteOutput = False


# Process: Create Topology (Create Topology) (management)
Bndy_overlap_topology = arcpy.management.CreateTopology(in_dataset=Input_Feature_Dataset_Made_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Input_Feature_Dataset_Made_in_Step_1_, str) else Input_Feature_Dataset_Made_in_Step_1_, out_name="Bndy_overlap_topology")[0]

# Process: Add Feature Class To Topology (Add Feature Class To Topology) (management)
Updated_Input_Topology = arcpy.management.AddFeatureClassToTopology(in_topology=Bndy_overlap_topology, in_featureclass=Input_Feature_Class_Made_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Input_Feature_Class_Made_in_Step_1_, str) else Input_Feature_Class_Made_in_Step_1_, xy_rank=1, z_rank=1)[0]

# Process: Add Rule To Topology (Add Rule To Topology) (management)
Bndy_overlap_topology_3_ = arcpy.management.AddRuleToTopology(in_topology=Updated_Input_Topology, rule_type=Rule_Type.__str__().format(**locals(),**globals())if isinstance(Rule_Type, str) else Rule_Type, in_featureclass=Input_Feature_Class_Made_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Input_Feature_Class_Made_in_Step_1_, str) else Input_Feature_Class_Made_in_Step_1_)[0]

# Process: Validate Topology (Validate Topology) (management)
Updated_Input_Topology_2_ = arcpy.management.ValidateTopology(in_topology=Bndy_overlap_topology_3_)[0]

# Process: Export Topology Errors (Export Topology Errors) (management)
Overlaps_point, Overlaps_line, Overlaps_poly = arcpy.management.ExportTopologyErrors(in_topology=Updated_Input_Topology_2_, out_path=Insert_Geodatabase_Created_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Insert_Geodatabase_Created_in_Step_1_, str) else Insert_Geodatabase_Created_in_Step_1_, out_basename="Overlaps")

if __name__ == '__main__':
# Global Environment settings
with arcpy.EnvManager(scratchWorkspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb", workspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb"):
Model2(*argv[1:])

 

0 Kudos
1 Reply
MErikReedAugusta
MVP Regular Contributor

Your code seems to have lost all indentation.  Try editing the post and using the code sample function to paste it in.  It should look like "</>".

------------------------------
M Reed
"The pessimist may be right oftener than the optimist, but the optimist has more fun, and neither can stop the march of events anyhow." — Lazarus Long, in Time Enough for Love, by Robert A. Heinlein
0 Kudos