Краткая информация
Объект 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 arcpy.wmx
#Establish a connection to a Workflow database
conn = arcpy.wmx.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
#Establish a connection to a Workflow database
conn = arcpy.wmx.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 = arcpy.wmx.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)
Следующий скрипт получает описание типа задания и обновляет таблицу расширенного свойства до создания задания.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the Job Type description
desc = conn.config.getJobTypeDescription(job_type_name="Extended Example")
#Get the Extended Properties dictionary for the Job Type
ext_prop = desc.extendedProperties
#Define new values to use for Extended Property's Name and Address
ext_prop_dict = {'NAME' : 'John Smith', 'ADDRESS' : '106 Everdale Drive' }
#Set the new values in the appropriate Extended Property table
ext_prop['TestDB.ExtendedTable'] = ext_prop_dict
#Apply the ext_prop dictionary back to the Job Type's desc object
desc.extendedProperties = ext_prop
#Create a Job using the new Job Type description
job = conn.createJob(job_type_description = desc)
#Get the Job's properties
job_props = job.getExtendedPropertyTable('TestDB.ExtendedTable')
#Print the new extended property Name value for the Job
print(str(job_props['NAME']))
Следующий скрипт получает описание типа задания и обновляет два значения связанной таблицы до создания задания.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the Job Type description
desc = conn.config.getJobTypeDescription(job_type_name="Linked Example")
#Get the Extended Properties dictionary for the Job Type
ext_prop = desc.extendedProperties
#Define new values to use for Linked Properties
Table_1 = {'PLAN_NUMBER': '2', 'PARCEL_NUMBER': 568}
Table_2 = {'PLAN_NUMBER': '3', 'PARCEL_NUMBER': 569}
#Set the new tables for Linked Propertes as a list
linked_prop_list = [Table_1, Table_2]
#Set the new values in the appropriate Extended Property table
ext_prop['TestDB.LinkedTable'] = linked_prop_list
#Apply the ext_prop dictionary back to the Job Type's desc object
desc.extendedProperties = ext_prop
#Create a Job using the new Job Type description
job = conn.createJob(job_type_description = desc)
#Get the Job's properties
job_props = job.getExtendedPropertyTable('TestDB.LinkedTable')
#Print the first Parcel Number from the Linked table, value of 568
print(str(job_props[0]['PARCEL_NUMBER']))
getJobTypes ()
Тип данных | Описание |
JobType | Возвращает типы задания в виде списка объектов JobType. Возвращаемые типы заданий отобранные при помощи фильтров задания в базе данных Workflow Manager (Classic). |
Тип задания в базе данных Workflow Manager (Classic) – это шаблон для создаваемых заданий.
Следующий скрипт получает и перечисляет все типы заданий в базе данных Workflow Manager (Classic), отобранные при помощи фильтров заданий.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all job type names in the Workflow database filtered by applied job filters.
conn.config.getJobTypes()
getMaps ()
Тип данных | Описание |
String | Список названий карт в базе данных Workflow Manager (Classic). |
Карты в базе данных Workflow Manager (Classic), используемые как шаблоны для карт заданий и карт AOI заданий.
Следующий скрипт перечисляет имена карт в базе данных Workflow Manager (Classic).
import arcpy
import arcpy.wmx
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List name of all maps in the Workflow database
conn.getMaps()
getNotificationTypes ()
Тип данных | Описание |
String | Список всех имен типов уведомлений в базе данных Workflow Manager (Classic). |
Типы уведомлений – это шаблоны для уведомлений задания, отсылаемых в течении жизненного цикла задания.
В следующем примере возвращаются типы уведомлений в базе данных Workflow Manager (Classic).
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.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
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all priorities in the Workflow database
conn.config.getPriorities()
getPrivileges ({username})
Параметр | Описание | Тип данных |
username | Имя пользователя, для которого возвращаются права. (Значение по умолчанию — currentuser) | String |
Тип данных | Описание |
String | Список прав, назначенных пользователю. Если нет заданных аргументов, возвращаются права для текущего пользователя. |
Права ограничивают или расширяют функциональность приложения для пользователей.
Следующий скрипт возвращает список прав, назначенных текущему пользователю Windows. Если у пользователя есть право CreateJob, создается задание. Вторая часть скрипта возвращает список прав, назначенных определенному заданному пользователю.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all privileges for the current Windows user in the Workflow database
user_privileges = conn.config.getPrivileges()
#If the user has the CreateJob privilege, 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 a list of privileges sorted alphabetically
print(sorted(privileges))
#List all privileges for a specific user has in the Workflow database
user_privileges = conn.config.getPrivileges('jdoe')
getStatusTypes ()
Тип данных | Описание |
StatusType | Список типов статуса возвращается в виде списка объектов StatusType. |
Типы статуса являются шаблонами, которые описывают возможные состояния или стадии задания, через которые оно проходит в процессе выполнения.
В следующем примере возвращается список типов статусов в базе данных Workflow Manager (Classic).
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the status types in the Workflow database
statusTypes = conn.config.getStatusTypes()
getUserGroups ({username})
Параметр | Описание | Тип данных |
username | Имя пользователя, для которого возвращаются группы пользователей. (Значение по умолчанию — currentuser) | String |
Тип данных | Описание |
String | Возвращает список имен групп пользователей в базе данных Workflow Manager (Classic). |
Группы пользователей применяются для организации пользователей и назначения прав пользователям.
Следующий скрипт возвращает список имен групп пользователей в базе данных Workflow Manager (Classic) для текущего пользователя Windows и указанного пользователя.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all user group names to which the current Windows user belongs in the Workflow database
conn.getUserGroups()
#List all user group names to which the the specified user belongs in the Workflow database
conn.getUserGroups(username='jdoe')
getUsers ()
Тип данных | Описание |
String | Список имен для всех пользователей в базе данных Workflow Manager (Classic). |
Пользователи применяются для назначения работ, истории журнала в задании и создания допуска в приложение.
Следующий скрипт перечисляет всех пользователей в базе данных.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List username for all the users in the Workflow database
conn.getUsers()
retrieveMap (map_name, destination_location)
Параметр | Описание | Тип данных |
map_name | Имя карты, которая будет извлечена из базы данных Workflow Manager (Classic). | String |
destination_location | Местоположение папки, в которой будет сохранена карта и имя которой будет использоваться. | String |
Карты применяются для редактирования базовой карты и указания пользователю, где будет выполняться большая часть работы.
Следующий скрипт извлекает имеющую карту из базы данных Workflow Manager (Classic) в заданное местоположение и сохраняет ее под заданным именем.
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
maplist = conn.config.getMaps()
#Retrieve a map named Parcel Data from the Workflow database
for maps in mapList:
if (maps=='Parcel Data'):
conn.retrieveMap(map_name='Parcel Data',destination_location=r'C:\test\Parcel Data.mxd')
Следующий скрипт извлекает имеющую карту из базы данных Workflow Manager (Classic) в заданное местоположение и сохраняет ее под заданным именем.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Retrieve a map named Parcel Data from the Workflow Manager database
for maps in mapList:
if maps == 'Parcel Data':
conn.config.retrieveMap(map_name='Parcel Data', destination_location=r'C:\test\Parcel Data.mxd')
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
#Establish a connection to a Workflow database
conn = arcpy.wmx.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")