ListVersions

Краткая информация

Перечисляет версии в рабочей области.

Обсуждение

Вы можете указать путь к файлу подключения или URL сервиса объектов как аргумент функции, и вы также можете задать в переменной среды рабочей области файл подключения или URL сервиса объектов и вызвать функцию ListVersions без аргументов.

Примечание:

Функцию arcpy.da.ListVersions не следует путать с функцией arcpy.ListVersions, которая используется для получения списка имен версий, для работы с которыми у подключенного пользователя есть права.

Синтаксис

ListVersions (sde_workspace)
ПараметрОписаниеТип данных
sde_workspace

Рабочая область многопользовательской базы геоданных или включена возможность сервиса объектов с управлением версиями.

String
Возвращаемое значение
Тип данныхОписание
Version

Список объектов Version.

Пример кода

ListVersions. Пример 1

Определение всех версий, измененных за прошедшую неделю.

import arcpy
import datetime
# Use datetime to establish current date/time
#
now = datetime.datetime.now()
sdeConnection = "C:/MyProject/toolboxDEFAULTVersion.sde"
# Compare lastModified property of each version to current date, and 
#  print version name if the version was modified in the last 7 days.
#
for version in arcpy.da.ListVersions(sdeConnection):
    if (now - version.lastModified).days < 7:
        print(version.name)
ListVersions. Пример 2

Удаление всех версий, которые принадлежат определенному пользователю и у которых нет потомков.

import arcpy
sdeConnection = "C:/MyProject/toolboxDEFAULTVersion.sde"
for version in arcpy.da.ListVersions(sdeConnection):
    # Delete any versions owned by "RJones" that don't have any children
    #
    if version.name.split(".")[0] == "RJones" and not version.children:
        print("Deleting version {0}".format(version.name))
        arcpy.DeleteVersion_management(sdeConnection, version.name)
ListVersions. Пример 3

Согласование и закрепление версий не работает в выбранном описании. Этот пример использует сервис объектов, для которого включена возможность управления версиями.

# Import system modules import arcpy
# Sign into ArcGIS Enterprise arcpy.SignInToPortal("https://myserver.mydomain.com/portal", 'portaladmin',                      'my.password')
# Create a variable for the feature service URL myFS = "https://myserver.mydomain.com/server/rest/services/BranchVersioningData/FeatureServer"
# Use the ListVersions function to get a list of versions versions = arcpy.da.ListVersions(myFS)
# Create a list of version to reconcile listToRec = []
# For each version in the list, append only those that have the "READY TO POST" 
# description for version in versions:
    if "READY FOR POST" in version.description.upper():
        listToRec.append(version.name)        
# Reconcile and post the versions arcpy.ReconcileVersions_management(myFS,
                                   'ALL_VERSIONS',                                   'sde.DEFAULT',                                   listToRec,                                   'NO_LOCK_ACQUIRED',                                   'ABORT_CONFLICTS',                                   'BY_OBJECT',                                   'FAVOR_EDIT_VERSION',                                   'POST',                                   'KEEP_VERSION')

Связанные разделы