Summary
The JobTypeDescription provides access to job type properties that can be customized before creating a job.
Discussion
The properties of the job type that can be customized and assigned to a new job being created.
Properties
Property | Explanation | Data Type |
AOI (Read and Write) | The polygon object to be used as the AOI of the job. A list of polygon objects can be provided to create multiple jobs. One job is created for each polygon object provided and the polygon is used to create the AOI of the job. | Polygon |
assignedTo (Read and Write) | The user name or group name the job will be assigned to. | String |
assignedType (Read and Write) | The type of assignment for the job. Below is a list of valid strings to use when setting the job assignment.
| String |
autoCommitWorkflow (Read and Write) | Indicates whether the workflows are automatically ready for execution when the job is created.
| Boolean |
autoExecuteOnCreate (Read and Write) | Indicates whether the job will be automatically executed after it is created.
| Boolean |
createdBy (Read and Write) | The user name that will be set as the creator of the job. | String |
dataWorkspaceID (Read and Write) | The ID of the data workspace to be set as the data workspace of the job. | String |
description (Read and Write) | A description about the job type. | String |
dueDate (Read and Write) | The due date that will be assigned to the job. | DateTime |
extendedProperties (Read and Write) | A dictionary containing the extended property tables of the job type. Each individual table can be obtained as its own dictionary using the table's name, and new values will be added to the table and saved back to the job type in advance of job creation. A sample is shown below. | Dictionary |
jobName (Read and Write) | The template for the name of the job. | String |
jobTypeName (Read and Write) | The name of the job type that will be used to create a job. | String |
LOI (Read and Write) | The geometry object to be used as the LOI of the job. A list of polygon or point objects can be provided to create multiple jobs. One job is created for each point or polygon object provided and the geometry is used to create the LOI of the job. | Geometry |
ownedBy (Read and Write) | The user who is the owner of the job. | String |
parentJobID (Read and Write) | The ID of the job that would be the parent of the job created. | Integer |
parentJobName (Read and Write) | The name of the job that would be the parent of the job created. | String |
parentVersionName (Read and Write) | The name of the version that would be the parent version created for the job. | String |
prefix (Read and Write) | The prefix to be added to the name of the job. | String |
priority (Read and Write) | The priority to be assigned to the job after its creation. | Integer |
startDate (Read and Write) | The date when the job will be started. | DateTime |
suffix (Read and Write) | The suffix to be added to the name of the job. | String |
unionAOI (Read and Write) | Indicates whether the list of polygon objects passed as the AOI will be merged to create one job or multiple jobs.
| Boolean |
unionLOI (Read and Write) | Indicates whether the list of polygon or point objects passed as the LOI will be merged to create one job or multiple jobs.
| Boolean |
versionName (Read and Write) | The name of the version that would be the version associated with the job. | String |
Code sample
The following script gets the job type description and updates two extended property table values prior to job creation.
# coding: utf-8
import arcpy
import arcpy_wmx
conn = arcpy_wmx.Connect()
# Get the job type description dictionary
MyDesc = conn.config.getJobTypeDescription(job_type_id = 401)
MyDesc
# Output of MyDesc {'auto_execute_on_create': False, 'start_date': datetime.datetime(2015, 5, 18, 12, 0), 'priority': 0, 'parent_job_name': None, 'extended_properties': {'WMXTest.DBO.extendedtest1_1': None, 'WMXTest.DBO.good_ext': None, 'WMXTest.DBO.extendedtest1': None}, 'job_type_name': 'Work Order', 'owned_by': 'will7692', 'prefix': None, 'aoi': None, 'version_name': None, 'due_date': datetime.datetime(2015, 2, 24, 12, 0), 'assigned_type': 'Unassigned', 'job_name': None, 'created_by': None, 'description': None, 'parent_version_name': None, 'parent_job_id': 0, 'suffix': None, 'assigned_to': None, 'data_workspace_id': None, 'auto_commit_workflow': True}
# Get the extended_properties dictionary
ext_prop = MyDesc['extended_properties']
ext_prop
# Output of ext_prop showing the extended property tables available as a dictionary{'WMXTest.DBO.extendedtest1_1': None, 'WMXTest.DBO.good_ext': None, 'WMXTest.DBO.extendedtest1': None}
# Defining variables of new values, for linked properties those are lists.
ext_prop_dict = {'prop_name_1' : 'prop_value_1', 'prop_name_2' : 'prop_value_2' }
linked_prop_list = [ext_prop_dict, ext_prop_dict]
# Setting them in ext_prop
ext_prop['WMXTest.DBO.extendedtest1_1'] = ext_prop_dict
ext_prop['WMXTest.DBO.good_ext'] = linked_prop_list
ext_prop
# {'WMXTest.DBO.extendedtest1_1': {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, 'WMXTest.DBO.good_ext': [{'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}], 'WMXTest.DBO.extendedtest1': None}
#Applying the ext_prop dictionary back the MyDesc dictionary
MyDesc['extended_properties'] = ext_prop
MyDesc
# New output of MyDesc {'auto_execute_on_create': False, 'start_date': datetime.datetime(2015, 5, 18, 12, 0), 'priority': 0, 'parent_job_name': None, 'extended_properties': {'WMXTest.DBO.extendedtest1_1': {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, 'WMXTest.DBO.good_ext': [{'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}], 'WMXTest.DBO.extendedtest1': None}, 'job_type_name': 'Work Order', 'owned_by': 'will7692', 'prefix': None, 'aoi': None, 'version_name': None, 'due_date': datetime.datetime(2015, 2, 24, 12, 0), 'assigned_type': 'Unassigned', 'job_name': None, 'created_by': None, 'description': None, 'parent_version_name': None, 'parent_job_id': 0, 'suffix': None, 'assigned_to': None, 'data_workspace_id': None, 'auto_commit_workflow': True}
# Create a job using the new job description
job = conn.createJob(job_type_description = MyDesc)