girder-slicer-cli-web 1.5.15.dev2__tar.gz → 1.5.15.dev6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of girder-slicer-cli-web might be problematic. Click here for more details.
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/PKG-INFO +1 -1
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/PKG-INFO +1 -1
- girder_slicer_cli_web-1.5.15.dev6/girder_slicer_cli_web.egg-info/scm_version.json +8 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/config.py +14 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/girder_plugin.py +43 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/configView.pug +6 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/ConfigView.js +7 -2
- girder_slicer_cli_web-1.5.15.dev2/girder_slicer_cli_web.egg-info/scm_version.json +0 -8
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.circleci/config.yml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.dockerignore +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.editorconfig +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.gitignore +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.pre-commit-config.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/LICENSE +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/README.rst +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/codecov.yml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/docs/worker_management.rst +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/.dockerignore +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/Dockerfile +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/README.rst +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/average_color/average_color.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/average_color/average_color.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/cli_list.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-average-color/cli_list.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-girder-requests/Dockerfile +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-girder-requests/README.rst +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-girder-requests/cli_list.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-girder-requests/cli_list.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-girder-requests/girder_requests/girder_requests.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/example-girder-requests/girder_requests/girder_requests.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/SOURCES.txt +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/dependency_links.txt +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/entry_points.txt +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/not-zip-safe +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/requires.txt +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/scm_file_list.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/girder_slicer_cli_web.egg-info/top_level.txt +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/setup.cfg +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/setup.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/__init__.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/cli_list_entrypoint.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/cli_utils.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/ctk_cli_adjustment.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/docker_resource.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/girder_worker_plugin/__init__.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/girder_worker_plugin/cli_progress.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/girder_worker_plugin/direct_docker_run.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/image_job.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/models/__init__.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/models/docker_image.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/models/exceptions.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/models/json_to_xml.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/models/parser.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/models/schema.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/prepare_task.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/rest_slicer_cli.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/JobStatus.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/collections/WidgetCollection.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/collections/index.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/events.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/index.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/main.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/models/WidgetModel.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/models/index.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/package.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/constraints.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/convert.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/defaultValue.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/group.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/index.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/panel.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/param.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/parse.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/parser/widget.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/routes.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/configView.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/controlWidget.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/controlsPanel.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/outputParameterDialog.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/panel.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/panelGroup.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/stylesheets/slicerUI.styl +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/booleanWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/colorWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/controlsPanel.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/enumerationWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/fileWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/jobsListWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/outputParameterDialog.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/panel.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/panelGroup.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/rangeWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/regionWidget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/slicerUI.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/uploadImageDialog.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/templates/widget.pug +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/utils.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/CollectionView.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/ControlWidget.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/ControlsPanel.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/ItemSelectorWidget.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/ItemView.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/JobsListWidget.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/JobsPanel.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/OutputParameterDialog.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/Panel.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/PanelGroup.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/index.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/web_client/views/utils.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/worker_tools.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/.dockerignore +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Dockerfile +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example1/Example1.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example1/Example1.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example1/Example1.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example1/Example1.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example2/Example2.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example2/Example2.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example2/Example2.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example2/Example2.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example3/Example3.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example3/Example3.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example3/Example3.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Example3/Example3.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/ExampleProgress/ExampleProgress.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/ExampleProgress/ExampleProgress.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/ExampleProgress/progress_helper.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/ExampleSubJob/ExampleSubJob.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/ExampleSubJob/ExampleSubJob.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/cli_list.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/cli_list.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/__init__.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/conftest.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/ExampleSpec.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/girder_worker.cfg +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_params_advanced.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_params_advanced.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_params_advanced.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_params_simple.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_params_simple.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_params_simple.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_simple.json +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_simple.xml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_simple.yaml +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/girder_worker_plugin/test_cli_progress.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/girder_worker_plugin/test_direct_docker_run.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_batch.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_config.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_docker.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_load.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_parser.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_rest_slicer_cli.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_web_client.py +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/.eslintrc +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/configViewSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/containerViewSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/dockerTaskSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/itemSelectorWidgetSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/panelGroupSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/parseSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/web_client_specs/widgetSpec.js +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tox.ini +0 -0
- {girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/utils/xmltojson.py +0 -0
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/config.py
RENAMED
|
@@ -28,6 +28,11 @@ from girder.utility import setting_utilities
|
|
|
28
28
|
class PluginSettings:
|
|
29
29
|
SLICER_CLI_WEB_TASK_FOLDER = 'slicer_cli_web.task_folder'
|
|
30
30
|
SLICER_CLI_WEB_WORKER_CONFIG_ITEM = 'slicer_cli_web.worker_config_item'
|
|
31
|
+
SLICER_CLI_TASK_STORE_METADATA = 'slicer_cli_web.task_store_metadata'
|
|
32
|
+
|
|
33
|
+
@staticmethod
|
|
34
|
+
def store_task_metadata():
|
|
35
|
+
return Setting().get(PluginSettings.SLICER_CLI_TASK_STORE_METADATA)
|
|
31
36
|
|
|
32
37
|
@staticmethod
|
|
33
38
|
def has_task_folder():
|
|
@@ -78,6 +83,14 @@ def validateItem(doc):
|
|
|
78
83
|
raise ValidationException('invalid folder selected')
|
|
79
84
|
|
|
80
85
|
|
|
86
|
+
@setting_utilities.validator({
|
|
87
|
+
PluginSettings.SLICER_CLI_TASK_STORE_METADATA
|
|
88
|
+
})
|
|
89
|
+
def validateStoreMetadata(doc):
|
|
90
|
+
if not isinstance(doc['value'], bool):
|
|
91
|
+
raise ValidationException('task_store_metadata must be a boolean')
|
|
92
|
+
|
|
93
|
+
|
|
81
94
|
# Defaults
|
|
82
95
|
|
|
83
96
|
# Defaults that have fixed values can just be added to the system defaults
|
|
@@ -85,4 +98,5 @@ def validateItem(doc):
|
|
|
85
98
|
SettingDefault.defaults.update({
|
|
86
99
|
PluginSettings.SLICER_CLI_WEB_TASK_FOLDER: None,
|
|
87
100
|
PluginSettings.SLICER_CLI_WEB_WORKER_CONFIG_ITEM: None,
|
|
101
|
+
PluginSettings.SLICER_CLI_TASK_STORE_METADATA: False
|
|
88
102
|
})
|
|
@@ -19,11 +19,14 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from girder import events, logger
|
|
21
21
|
from girder.constants import AccessType
|
|
22
|
+
from girder.models.file import File
|
|
23
|
+
from girder.models.item import Item
|
|
22
24
|
from girder.plugin import GirderPlugin, getPlugin
|
|
23
25
|
from girder_jobs.constants import JobStatus
|
|
24
26
|
from girder_jobs.models.job import Job
|
|
25
27
|
|
|
26
28
|
from . import worker_tools
|
|
29
|
+
from .config import PluginSettings
|
|
27
30
|
from .docker_resource import DockerResource
|
|
28
31
|
from .models import DockerImageItem
|
|
29
32
|
|
|
@@ -45,6 +48,45 @@ def _onUpload(event):
|
|
|
45
48
|
})
|
|
46
49
|
|
|
47
50
|
|
|
51
|
+
def _onJobFinished(event):
|
|
52
|
+
job = event.info['job']
|
|
53
|
+
if job['status'] not in {JobStatus.SUCCESS, JobStatus.ERROR}:
|
|
54
|
+
return
|
|
55
|
+
if not PluginSettings.store_task_metadata():
|
|
56
|
+
return
|
|
57
|
+
original_params = job.get('_original_params')
|
|
58
|
+
if not original_params:
|
|
59
|
+
return
|
|
60
|
+
|
|
61
|
+
values = list(original_params.values())
|
|
62
|
+
|
|
63
|
+
job_status = 'Success' if job['status'] is JobStatus.SUCCESS else 'Error'
|
|
64
|
+
job_data = {
|
|
65
|
+
'title': job['title'],
|
|
66
|
+
'finished': job['updated'],
|
|
67
|
+
'status': job_status
|
|
68
|
+
}
|
|
69
|
+
for value in values:
|
|
70
|
+
for name, model in (('item', Item()), ('file', File())):
|
|
71
|
+
doc = model.load(value, force=True)
|
|
72
|
+
if doc is not None:
|
|
73
|
+
if name == 'file':
|
|
74
|
+
item = Item().load(doc['itemId'], force=True)
|
|
75
|
+
if item is not None:
|
|
76
|
+
tasks = item['meta'].get('Tasks Run', [])
|
|
77
|
+
if len(tasks) == 500:
|
|
78
|
+
tasks.pop(0)
|
|
79
|
+
tasks.append(job_data)
|
|
80
|
+
Item().setMetadata(item, {'Tasks Run': tasks})
|
|
81
|
+
else:
|
|
82
|
+
tasks = doc['meta'].get('Tasks Run', [])
|
|
83
|
+
if len(tasks) == 500:
|
|
84
|
+
tasks.pop(0)
|
|
85
|
+
tasks.append(job_data)
|
|
86
|
+
Item().setMetadata(doc, {'Tasks Run': job_data})
|
|
87
|
+
return
|
|
88
|
+
|
|
89
|
+
|
|
48
90
|
class SlicerCLIWebPlugin(GirderPlugin):
|
|
49
91
|
DISPLAY_NAME = 'Slicer CLI Web'
|
|
50
92
|
CLIENT_SOURCE_PATH = 'web_client'
|
|
@@ -65,6 +107,7 @@ class SlicerCLIWebPlugin(GirderPlugin):
|
|
|
65
107
|
|
|
66
108
|
events.bind('jobs.job.update.after', resource.resourceName,
|
|
67
109
|
resource.addRestEndpoints)
|
|
110
|
+
events.bind('jobs.job.update.after', 'slicer_cli_web.metadata', _onJobFinished)
|
|
68
111
|
events.bind('data.process', 'slicer_cli_web', _onUpload)
|
|
69
112
|
|
|
70
113
|
count = 0
|
|
@@ -14,6 +14,12 @@ form#g-slicer-cli-web-form(role="form")
|
|
|
14
14
|
.input-group-btn
|
|
15
15
|
button.g-open-browser.btn.btn-default(type="button")
|
|
16
16
|
i.icon-folder-open
|
|
17
|
+
label.radio-inline
|
|
18
|
+
input#g-slicer-cli-web-task-store-metadata(type="radio", name="g-slicer-cli-web-task-metdata", checked=settings['task_store_metadata'] === true ? 'checked' : undefined)
|
|
19
|
+
| Store task information on first girder item's metadata
|
|
20
|
+
label.radio-inline
|
|
21
|
+
input#g-slicer-cli-web-task-store-metadata(type="radio", name="g-slicer-cli-web-task-metdata", checked=settings['task_store_metadata'] === false ? 'checked' : undefined)
|
|
22
|
+
| Don't store task information in metadata
|
|
17
23
|
|
|
18
24
|
.form-group
|
|
19
25
|
label(for="g-slicer-cli-web-worker-config-item") Worker Management Configuration Item
|
|
@@ -24,6 +24,9 @@ const ConfigView = View.extend({
|
|
|
24
24
|
}, {
|
|
25
25
|
key: 'slicer_cli_web.worker_config_item',
|
|
26
26
|
value: this.$('#g-slicer-cli-web-worker-config-item').val()
|
|
27
|
+
}, {
|
|
28
|
+
key: 'slicer_cli_web.task_store_metadata',
|
|
29
|
+
value: this.$('#g-slicer-cli-web-task-store-metadata').prop('checked')
|
|
27
30
|
}]);
|
|
28
31
|
},
|
|
29
32
|
'submit #g-slicer-cli-web-upload-form'(event) {
|
|
@@ -178,13 +181,15 @@ const ConfigView = View.extend({
|
|
|
178
181
|
data: {
|
|
179
182
|
list: JSON.stringify([
|
|
180
183
|
'slicer_cli_web.task_folder',
|
|
181
|
-
'slicer_cli_web.worker_config_item'
|
|
184
|
+
'slicer_cli_web.worker_config_item',
|
|
185
|
+
'slicer_cli_web.task_store_metadata'
|
|
182
186
|
])
|
|
183
187
|
}
|
|
184
188
|
}).then((resp) => {
|
|
185
189
|
const settings = {
|
|
186
190
|
task_folder: resp['slicer_cli_web.task_folder'],
|
|
187
|
-
worker_config_item: resp['slicer_cli_web.worker_config_item']
|
|
191
|
+
worker_config_item: resp['slicer_cli_web.worker_config_item'],
|
|
192
|
+
task_store_metadata: resp['slicer_cli_web.task_store_metadata']
|
|
188
193
|
};
|
|
189
194
|
|
|
190
195
|
return settings;
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.circleci/config.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/.pre-commit-config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/docs/worker_management.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/cli_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/slicer_cli_web/image_job.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/.dockerignore
RENAMED
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/Dockerfile
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/cli_list.json
RENAMED
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/small-docker/cli_list.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/ExampleSpec.xml
RENAMED
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/girder_worker.cfg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/data/parser_simple.xml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_config.py
RENAMED
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_docker.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_slicer_cli_web-1.5.15.dev2 → girder_slicer_cli_web-1.5.15.dev6}/tests/test_web_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|