Сводка
Объект Configuration обеспечивает доступ к элементам настройки в базе данных Workflow Manager (Classic).
Описание
Объект Configuration обеспечивает доступ к элементам настройки в базе данных Workflow Manager (Classic).
Обзор метода
Метод | Объяснение |
getActivityTypes () | Возвращает все типы активности в База данных Workflow Manager (Classic) в виде списка объектов ActivityType. |
getHoldTypes () | Возвращает все типы удержаний в базе данных Workflow Manager (Classic) в виде списка объектов HoldType. |
getJobTypeDescription ({job_type_id}, {job_type_name}) | Возвращает свойства типа задания, которые можно настроить перед созданием задания при помощи типа задания или имени типа задания. |
getJobTypes () | Возвращает список всех типов задания в базе геоданных Workflow Manager (Classic), отобранный при помощи фильтров задания. |
getMaps () | Возвращает список названий карт в базе данных Workflow Manager (Classic). |
getNotificationTypes () | Возвращает список всех типов уведомлений в базе данных Workflow Manager (Classic). |
getPriorities () | Возвращает список приоритетов в базе данных Workflow Manager (Classic). |
getPrivileges ({username}) | Возвращает список прав, назначенных пользователю. Если нет заданных аргументов, возвращаются права для текущего пользователя. |
getStatusTypes () | Возвращает список всех типов статуса в базе данных Workflow Manager (Classic) в виде списка объектов StatusType. |
getUserGroups ({username}) | Возвращает список имен групп пользователей, к которым принадлежит пользователь, в базе данных Workflow Manager (Classic). Если не заданных аргументов, возвращаются группы пользователей, к которым принадлежит текущий пользователь. |
getUsers () | Возвращает список имен для всех пользователей в базе данных Workflow Manager (Classic). |
retrieveMap (map_name, destination_location) | Извлекает карту из Workflow Manager (Classic) базы данных в указанную папку. |
storeMap (map_name, source_location, {storage_type}, {overwrite}) | Сохраняет карту в базе данных Workflow Manager (Classic). Только .mxd может храниться в базе данных Workflow Manager (Classic). |
Методы
getActivityTypes ()
Значение отраженного сигнала
Тип данных | Объяснение |
ActivityType | Список типов активности возвращен как список объектов ActivityType. |
Типы активности – это шаблоны для активности, записанной в историю в течении жизненного цикла задания.
В следующем примере возвращаются типы активности в базе данных.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get the activity types in Workflow database
activityTypes = conn.config.getActivityTypes()
getHoldTypes ()
Значение отраженного сигнала
Тип данных | Объяснение |
HoldType | Список типов удержаний возвращен как список объектов HoldType. |
Типы удержаний – это шаблон для удержаний, используемых для приостановки активности задания на неопределенное время.
В следующем примере возвращается список типов удержаний в базе данных Workflow Manager (Classic).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get list of Hold types in Workflow database
holdTypes = conn.config.getHoldTypes()
getJobTypeDescription ({job_type_id}, {job_type_name})
Параметр | Объяснение | Тип данных |
job_type_id | ID типа задания, свойства которого будут возвращены. | Integer |
job_type_name | Имя типа задания, свойства которого будут возвращены. | String |
Значение отраженного сигнала
Тип данных | Объяснение |
JobTypeDescription | Свойства типа задания, которые можно настроить и назначить новому создаваемому заданию, возвращаемые как объект JobTypeDescription. |
Описание типа задания, которое можно настроить для определения свойств задания перед его созданием.
Следующий скрипт получает описание типа задания при помощи id типа задания, имени типа задания.
import arcpy
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get the Job Type description of type Data Edits
desc = conn.config.getJobTypeDescription(job_type_name="Data Edits")
# Get the Job Type description of type 5
desc2 = conn.config.getJobTypeDescription(job_type_id=5)
Следующий скрипт получает описание типа задания и обновляет таблицу расширенного свойства до создания задания.
# 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)
Следующий скрипт получает описание типа задания и обновляет два значения связанной таблицы до создания задания.
# 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)
getJobTypes ()
Значение отраженного сигнала
Тип данных | Объяснение |
JobType | Возвращает типы задания в виде списка объектов JobType. Возвращаемые типы заданий отобранные при помощи фильтров задания в базе данных Workflow Manager (Classic). |
Тип задания в базе данных Workflow Manager (Classic) – это шаблон для создаваемых заданий.
Следующий скрипт получает и перечисляет все типы заданий в базе данных Workflow Manager (Classic), отобранные при помощи фильтров заданий.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all job type names in the Workflow Manager database filtered by applied job filters.
conn.config.getJobTypes()
getMaps ()
Значение отраженного сигнала
Тип данных | Объяснение |
String | Список названий карт в базе данных Workflow Manager (Classic). |
Карты в базе данных Workflow Manager (Classic), используемые как шаблоны для карт заданий и карт AOI заданий.
Следующий скрипт перечисляет имена карт в базе данных Workflow Manager (Classic).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List name of all maps in the Workflow Manager database
conn.config.getMaps()
getNotificationTypes ()
Значение отраженного сигнала
Тип данных | Объяснение |
String | Список всех имен типов уведомлений в базе данных Workflow Manager (Classic). |
Типы уведомлений – это шаблоны для уведомлений задания, отсылаемых в течении жизненного цикла задания.
В следующем примере возвращаются типы уведомлений в базе данных Workflow Manager (Classic).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get the activity types in Workflow database
activityTypes = conn.config.getNotificationTypes()
getPriorities ()
Значение отраженного сигнала
Тип данных | Объяснение |
Priority | Список приоритетов в базе данных Workflow Manager (Classic). Запись состоит из id, имени и описания каждого приоритета в базе данных Workflow Manager (Classic). |
Приоритет назначает уровень значимости работы, выполняемой как часть задания.
Следующий скрипт перечисляет id, имя и описания каждого приоритета в базе данных Workflow Manager (Classic).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all priorities in the Workflow Manager database
conn.config.getPriorities()
getPrivileges ({username})
Параметр | Объяснение | Тип данных |
username | Имя пользователя, для которого возвращаются права. (Значение по умолчанию — currentuser) | String |
Значение отраженного сигнала
Тип данных | Объяснение |
String | Список прав, назначенных пользователю. Если нет заданных аргументов, возвращаются права для текущего пользователя. |
Права ограничивают или расширяют функциональность приложения для пользователей.
Следующий скрипт возвращает список прав, назначенных текущему пользователю Windows. Если у пользователя есть право CreateJob, создается задание. Вторая часть скрипта возвращает список прав, назначенных определенному заданному пользователю.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all privileges the current windows user has in the Workflow Manager database
user_privileges = conn.config.getPrivileges()
# If the user has CreateJob privilege, then create a job and print the name
createJob_privilege = 'CreateJob'
if createJob_privilege in user_privileges:
job = conn.createJob(job_type_name="Data Edits")
print("Job " + job.name + " created")
# Print alphabetically sorted list of privileges
print(sorted(privileges))
# List all privileges a specific user has in the Workflow Manager database
user_privileges = conn.config.getPrivileges('jrobinson')
getStatusTypes ()
Значение отраженного сигнала
Тип данных | Объяснение |
StatusType | Список типов статуса возвращается в виде списка объектов StatusType. |
Типы статуса являются шаблонами, которые описывают возможные состояния или стадии задания, через которые оно проходит в процессе выполнения.
В следующем примере возвращается список типов статусов в базе данных Workflow Manager (Classic).
import arcpy
import arcpy.wmx
# Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
# Get the status types in Workflow database
statusTypes = conn.config.getStatusTypes()
getUserGroups ({username})
Параметр | Объяснение | Тип данных |
username | Имя пользователя, для которого возвращаются группы пользователей. (Значение по умолчанию — currentuser) | String |
Значение отраженного сигнала
Тип данных | Объяснение |
String | Возвращает список имен групп пользователей в базе данных Workflow Manager (Classic). |
Группы пользователей применяются для организации пользователей и назначения прав пользователям.
Следующий скрипт возвращает список имен групп пользователей в базе данных Workflow Manager (Classic) для текущего пользователя Windows и указанного пользователя.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all user group names in the Workflow Manager database the current windows user belongs to
conn.config.getUserGroups()
# List all user group names in the Workflow Manager database the specified user belongs to
conn.config.getUserGroups(username='jrobinson')
getUsers ()
Значение отраженного сигнала
Тип данных | Объяснение |
String | Список имен для всех пользователей в базе данных Workflow Manager (Classic). |
Пользователи применяются для назначения работ, истории журнала в задании и создания допуска в приложение.
Следующий скрипт перечисляет всех пользователей в базе данных.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List username for all the users in the Workflow Manager database
conn.config.getUsers()
retrieveMap (map_name, destination_location)
Параметр | Объяснение | Тип данных |
map_name | Имя карты, которая будет извлечена из базы данных Workflow Manager (Classic). | String |
destination_location | Местоположение папки, в которой будет сохранена карта и имя которой будет использоваться. | String |
Карты применяются для редактирования базовой карты и указания пользователю, где будет выполняться большая часть работы.
storeMap (map_name, source_location, {storage_type}, {overwrite})
Параметр | Объяснение | Тип данных |
map_name | Имя используется для хранения карты в базе данных Workflow Manager (Classic). | String |
source_location | Местоположение папки, в котором лежит карта - с именем карты. | String |
storage_type | Тип хранения карты. Если не задано значение, карта сохраняется в базе данных Workflow Manager (Classic) по умолчанию.
(Значение по умолчанию — embedded) | String |
overwrite | Перезапишите карту, если она уже имеется в базе данных Workflow Manager (Classic). Если значение не указано, имеющаяся карта не перезапишется.
(Значение по умолчанию — false) | String |
Карты применяются для редактирования базовой карты и указания пользователю, где будет выполняться большая часть работы.
Следующий скрипт сохраняет карту в базе данных Workflow Manager (Classic), а также сохраняет местоположение другой, связанной карты.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Store an embedded map with name South California Roads and overwrite existing map
conn.config.storeMap(map_name="South California Roads", source_location="C:\Test\South California Roads.mxd", storage_type="embedded", overwrite="true")
# Store a linked map
conn.config.storeMap(map_name="Parcels", source_location="C:\Test\Parcel_data.mxd", storage_type="linked")