Как посчитать количество объектов в рабочей области? - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь подсчитать количество объектов (листов, отчетов, достопримечательностей, шаблонов) в рабочей области - я использую:

workspaces = smart.Workspaces.get_workspace(
  workspace_id=XXXXXXXX,
  load_all=True)

x = len(workspaces.sights)

print (x)

Несмотря на возврат списка всего содержимого в рабочих пространствах,это только получение верхнего уровня по достопримечательностям (как пример) - почему это так?

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Лучшим вариантом будет использовать домашний запрос, чтобы получить домашнее меню:

contents = smartsheet_client.Home.list_all_contents(include='source')
  • Затем найдите правильное рабочее пространство
  • Отсюда посчитайте все элементы под этимрабочая среда.
  • Затем для каждой папки в элементах подсчета рабочей области (этот шаг должен быть рекурсивным).
0 голосов
/ 11 октября 2019

Достопримечательности или панели мониторинга не могут содержать внутри себя ничего, например, «Листы» и «Отчеты», поэтому под ними ничего не будет указано. Если прицел находится на верхнем уровне рабочей области, то в объекте рабочей области будет атрибут sights в качестве атрибута верхнего уровня. Это будет массив каждого взгляда на верхнем уровне рабочего пространства. Если в папках под ними есть «Достопримечательности», вы увидите их в списке в виде массива для конкретной папки. Атрибут Sights верхнего уровня учитывает только Sights на верхнем уровне рабочей области. Объект, возвращаемый обратно при использовании loadAll=true, будет имитировать структуру папок Рабочего пространства. Чтобы получить общее количество каждого типа объекта в рабочей области, вам нужно будет пройти через объект и подсчитать, сколько раз атрибут появляется для получения общего количества каждого типа объекта.

...