girder-large-image 1.35.5.dev2__tar.gz → 1.35.5.dev4__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.
Files changed (79) hide show
  1. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/PKG-INFO +3 -3
  2. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/__init__.py +9 -2
  3. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/PKG-INFO +3 -3
  4. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/requires.txt +2 -2
  5. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/test_large_image.py +32 -0
  6. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/LICENSE +0 -0
  7. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/README.rst +0 -0
  8. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/constants.py +0 -0
  9. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/girder_tilesource.py +0 -0
  10. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/loadmodelcache.py +0 -0
  11. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/models/__init__.py +0 -0
  12. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/models/image_item.py +0 -0
  13. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/rest/__init__.py +0 -0
  14. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/rest/item_meta.py +0 -0
  15. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/rest/large_image_resource.py +0 -0
  16. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/rest/tiles.py +0 -0
  17. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/eventStream.js +0 -0
  18. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/extra/.gitignore +0 -0
  19. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/index.js +0 -0
  20. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/main.js +0 -0
  21. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/package.json +0 -0
  22. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/routes.js +0 -0
  23. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/fileList.styl +0 -0
  24. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/imageViewerSelectWidget.styl +0 -0
  25. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/itemList.styl +0 -0
  26. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/itemView.styl +0 -0
  27. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/itemViewCodemirror.styl +0 -0
  28. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/largeImageConfig.styl +0 -0
  29. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/stylesheets/metadataWidget.styl +0 -0
  30. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/imageViewerSelectWidget.pug +0 -0
  31. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/itemList.pug +0 -0
  32. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/itemView.pug +0 -0
  33. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/itemViewCodemirror.pug +0 -0
  34. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/largeImageConfig.pug +0 -0
  35. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/largeImage_fileAction.pug +0 -0
  36. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/metadataWidget.pug +0 -0
  37. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/templates/metadatumEditWidget.pug +0 -0
  38. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/configView.js +0 -0
  39. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/fileList.js +0 -0
  40. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerSelectWidget.js +0 -0
  41. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/base.js +0 -0
  42. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/geojs.js +0 -0
  43. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/index.js +0 -0
  44. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/leaflet.js +0 -0
  45. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/openlayers.js +0 -0
  46. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/openseadragon.js +0 -0
  47. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/setFrameQuad.js +0 -0
  48. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/imageViewerWidget/slideatlas.js +0 -0
  49. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/index.js +0 -0
  50. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/itemList.js +0 -0
  51. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/itemView.js +0 -0
  52. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/itemViewCodemirror.js +0 -0
  53. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/itemViewWidget.js +0 -0
  54. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/views/metadataWidget.js +0 -0
  55. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/vue/components/PresetsMenu.vue +0 -0
  56. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/webpack.helper.js +0 -0
  57. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/widgets/CompositeLayers.vue +0 -0
  58. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/widgets/DualInput.vue +0 -0
  59. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/widgets/FrameSelector.vue +0 -0
  60. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/widgets/HistogramEditor.vue +0 -0
  61. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/widgets/colors.json +0 -0
  62. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image/web_client/widgets/components.py +0 -0
  63. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/SOURCES.txt +0 -0
  64. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/dependency_links.txt +0 -0
  65. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/entry_points.txt +0 -0
  66. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/not-zip-safe +0 -0
  67. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/girder_large_image.egg-info/top_level.txt +0 -0
  68. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/pyproject.toml +0 -0
  69. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/setup.cfg +0 -0
  70. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/setup.py +0 -0
  71. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/__init__.py +0 -0
  72. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/conftest.py +0 -0
  73. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/girder_utilities.py +0 -0
  74. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/test_tiles_rest.py +0 -0
  75. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/test_web_client.py +0 -0
  76. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/web_client_specs/.eslintrc +0 -0
  77. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/web_client_specs/imageViewerSpec.js +0 -0
  78. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/web_client_specs/largeImageSpec.js +0 -0
  79. {girder_large_image-1.35.5.dev2 → girder_large_image-1.35.5.dev4}/test_girder/web_client_specs/otherFeatures.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: girder-large-image
3
- Version: 1.35.5.dev2
3
+ Version: 1.35.5.dev4
4
4
  Summary: A Girder plugin to work with large, multiresolution images.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -19,9 +19,9 @@ Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
20
  Requires-Dist: girder<5,>=3.1.18
21
21
  Requires-Dist: girder-jobs<5,>=3.0.3
22
- Requires-Dist: large_image>=1.35.5.dev2
22
+ Requires-Dist: large_image>=1.35.5.dev4
23
23
  Provides-Extra: tasks
24
- Requires-Dist: large-image-tasks[girder]>=1.35.5.dev2; extra == "tasks"
24
+ Requires-Dist: large-image-tasks[girder]>=1.35.5.dev4; extra == "tasks"
25
25
  Requires-Dist: girder-worker[girder]<5,>=0.6.0; extra == "tasks"
26
26
  Dynamic: author
27
27
  Dynamic: author-email
@@ -596,9 +596,13 @@ def yamlConfigFile(folder, name, user):
596
596
  """
597
597
  addConfig = None
598
598
  last = False
599
+ isGlobalConfig = False
599
600
  while folder:
600
601
  item = Item().findOne({'folderId': folder['_id'], 'name': name})
601
- if item:
602
+ # If the user can't access the folder and it is not a global config mechanism,
603
+ # skip this folder. Keep walking up the chain to merge other publically available
604
+ # configuration in the hierarchy.
605
+ if item and (isGlobalConfig or Folder().hasAccess(folder, user, AccessType.READ)):
602
606
  for file in Item().childFiles(item):
603
607
  if file['size'] > 10 * 1024 ** 2:
604
608
  logger.info('Not loading %s -- too large', file['name'])
@@ -627,6 +631,7 @@ def yamlConfigFile(folder, name, user):
627
631
  'parentId': folder['parentId'],
628
632
  'parentCollection': folder['parentCollection'],
629
633
  'name': '.config'})
634
+ isGlobalConfig = True
630
635
  else:
631
636
  last = 'setting'
632
637
  if not folder or last == 'setting':
@@ -635,8 +640,10 @@ def yamlConfigFile(folder, name, user):
635
640
  break
636
641
  folder = Folder().load(folderId, force=True)
637
642
  last = True
643
+ isGlobalConfig = True
638
644
  else:
639
- folder = Folder().load(folder['parentId'], user=user, level=AccessType.READ)
645
+ folder = Folder().load(folder['parentId'], force=True)
646
+ isGlobalConfig = False
640
647
 
641
648
  addConfig = {} if addConfig is None else addConfig
642
649
  addSettingsToConfig(addConfig, user, name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: girder-large-image
3
- Version: 1.35.5.dev2
3
+ Version: 1.35.5.dev4
4
4
  Summary: A Girder plugin to work with large, multiresolution images.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -19,9 +19,9 @@ Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
20
  Requires-Dist: girder<5,>=3.1.18
21
21
  Requires-Dist: girder-jobs<5,>=3.0.3
22
- Requires-Dist: large_image>=1.35.5.dev2
22
+ Requires-Dist: large_image>=1.35.5.dev4
23
23
  Provides-Extra: tasks
24
- Requires-Dist: large-image-tasks[girder]>=1.35.5.dev2; extra == "tasks"
24
+ Requires-Dist: large-image-tasks[girder]>=1.35.5.dev4; extra == "tasks"
25
25
  Requires-Dist: girder-worker[girder]<5,>=0.6.0; extra == "tasks"
26
26
  Dynamic: author
27
27
  Dynamic: author-email
@@ -1,7 +1,7 @@
1
1
  girder<5,>=3.1.18
2
2
  girder-jobs<5,>=3.0.3
3
- large_image>=1.35.5.dev2
3
+ large_image>=1.35.5.dev4
4
4
 
5
5
  [tasks]
6
- large-image-tasks[girder]>=1.35.5.dev2
6
+ large-image-tasks[girder]>=1.35.5.dev4
7
7
  girder-worker[girder]<5,>=0.6.0
@@ -666,6 +666,38 @@ def testYAMLConfigFileInherit(server, admin, user, fsAssetstore):
666
666
  assert resp.json['keyE'] == 'value7'
667
667
 
668
668
 
669
+ @pytest.mark.usefixtures('unbindLargeImage')
670
+ @pytest.mark.plugin('large_image')
671
+ def testYAMLConfigFileSkipPrivate(server, admin, user, fsAssetstore):
672
+ collection = Collection().createCollection(
673
+ 'collection A', admin, public=False)
674
+ colFolderA = Folder().createFolder(
675
+ collection, 'folder A', parentType='collection',
676
+ creator=admin, public=True)
677
+ colFolderB = Folder().createFolder(
678
+ colFolderA, 'folder B', parentType='folder',
679
+ creator=admin, public=False)
680
+ colFolderC = Folder().createFolder(
681
+ colFolderB, 'folder C', parentType='folder',
682
+ creator=admin, public=True)
683
+ # Public config
684
+ utilities.uploadText(
685
+ json.dumps({
686
+ 'keyA': 'publicValue',
687
+ }), admin, fsAssetstore, colFolderA, 'sample.json',
688
+ )
689
+ # Private config
690
+ utilities.uploadText(
691
+ json.dumps({
692
+ 'keyA': 'privateValue',
693
+ }), admin, fsAssetstore, colFolderB, 'sample.json',
694
+ )
695
+ resp = server.request(
696
+ path='/folder/%s/yaml_config/sample.json' % str(colFolderC['_id']), user=None)
697
+ assert utilities.respStatus(resp) == 200
698
+ assert resp.json['keyA'] == 'publicValue'
699
+
700
+
669
701
  @pytest.mark.singular
670
702
  @pytest.mark.usefixtures('unbindLargeImage')
671
703
  @pytest.mark.plugin('large_image')