Как я могу использовать IronPython, чтобы сохранить анализ, который я изменил с помощью Spotfire Consumer, обратно в библиотеку? - PullRequest
1 голос
/ 18 марта 2019

Можно ли программно сохранить файл анализа, который открывается в веб-плеере Spotfire (например, Spotfire Consumer ), вызывая какой-либо API или все это обрабатывается пользовательским интерфейсом (веб-плеером)?Я использую Spotfire версии 10.1

Пример, могу ли я сделать это: enter image description here

... в коде (например, с помощью веб-API)

1 Ответ

1 голос
/ 19 марта 2019

спасибо за разъяснения!

следующий код IronPython сохранит анализ.однако при сохранении в веб-плеере вы найдете ограничение, согласно которому для раскрывающегося списка в верхнем правом углу должно быть установлено значение «Просмотр» (в 10.0).повторить: вы не можете использовать этот код для сохранения документа, который в данный момент находится в режиме «Редактирование», в веб-плеере.

from Spotfire.Dxp.Application import DocumentSaveSettings
from Spotfire.Dxp.Framework.Library import LibraryManager, LibraryItemType, LibraryItemMetadataSettings
from Spotfire.Dxp.Framework.ApplicationModel import ApplicationThread

def save_to_library(app, path, filename, meta, settings):
  def f():
    app.SaveAs(path, filename, meta, settings)
  return f

# path info
lib_path = "/path/to/file"
filename = "My Analysis"

# reference the LibraryManager
lm = Application.GetService[LibraryManager]()

# determine if the path exists
success, lib_folder = lm.TryGetItem(lib_path, LibraryItemType.Folder)

if success:
  # save the file
  Application.GetService[ApplicationThread]().InvokeAsynchronously(save_to_library(Application, lib_folder, filename, LibraryItemMetadataSettings(), DocumentSaveSettings()))
else:
  print "folder " + lib_path + " does not exist in the Library"

код на основе этой статьи из TIBCO Wiki .

...