Résumé
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.
Propriétés
Propriété | Explication | Type de données |
AOI (Lecture/écriture) | 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 (Lecture/écriture) | The user name or group name the job will be assigned to. | String |
assignedType (Lecture/écriture) | The type of assignment for the job. Below is a list of valid strings to use when setting the job assignment.
| String |
autoCommitWorkflow (Lecture/écriture) | Indicates whether the workflows are automatically ready for execution when the job is created.
| Boolean |
autoExecuteOnCreate (Lecture/écriture) | Indicates whether the job will be automatically executed after it is created.
| Boolean |
createdBy (Lecture/écriture) | The user name that will be set as the creator of the job. | String |
dataWorkspaceID (Lecture/écriture) | The ID of the data workspace to be set as the data workspace of the job. | String |
description (Lecture/écriture) | A description about the job type. | String |
dueDate (Lecture/écriture) | The due date that will be assigned to the job. | DateTime |
extendedProperties (Lecture/écriture) | 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 (Lecture/écriture) | The template for the name of the job. | String |
jobTypeName (Lecture/écriture) | The name of the job type that will be used to create a job. | String |
LOI (Lecture/écriture) | 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 (Lecture/écriture) | The user who is the owner of the job. | String |
parentJobID (Lecture/écriture) | The ID of the job that would be the parent of the job created. | Integer |
parentJobName (Lecture/écriture) | The name of the job that would be the parent of the job created. | String |
parentVersionName (Lecture/écriture) | The name of the version that would be the parent version created for the job. | String |
prefix (Lecture/écriture) | The prefix to be added to the name of the job. | String |
priority (Lecture/écriture) | The priority to be assigned to the job after its creation. | Integer |
startDate (Lecture/écriture) | The date when the job will be started. | DateTime |
suffix (Lecture/écriture) | The suffix to be added to the name of the job. | String |
unionAOI (Lecture/écriture) | Indicates whether the list of polygon objects passed as the AOI will be merged to create one job or multiple jobs.
| Boolean |
unionLOI (Lecture/écriture) | 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 (Lecture/écriture) | The name of the version that would be the version associated with the job. | String |
Exemple de code
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)