Skip to content

Commit

Permalink
Remove the json config route.
Browse files Browse the repository at this point in the history
This isn't in use yet and has been superseded by
girder/large_image#860 which has better support
for users and groups.
  • Loading branch information
manthey committed May 19, 2022
1 parent 960367d commit e236103
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 74 deletions.
38 changes: 0 additions & 38 deletions histomicsui/rest/system.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,12 @@
# limitations under the License.
#############################################################################

import json

from girder import logger
from girder.api import access
from girder.api.describe import Description, autoDescribeRoute, describeRoute
from girder.api.rest import RestException, boundHandler, filtermodel
from girder.api.v1.resource import Resource as ResourceResource
from girder.constants import AccessType, TokenScope
from girder.models.file import File
from girder.models.folder import Folder
from girder.models.item import Item
from girder.utility.model_importer import ModelImporter
Expand All @@ -38,7 +35,6 @@ def addSystemEndpoints(apiRoot):
apiRoot.item.route('GET', ('query',), getItemsByQuery)
# Added to the folder route
apiRoot.folder.route('GET', ('query',), getFoldersByQuery)
apiRoot.folder.route('GET', (':id', 'json_config', ':name'), getJSONConfigFile)
# Added to the histomicui route
HUIResourceResource(apiRoot)

Expand Down Expand Up @@ -172,40 +168,6 @@ def getFoldersByQuery(self, query, limit, offset, sort):
return Folder().findWithPermissions(query, offset=offset, limit=limit, sort=sort, user=user)


@access.public(scope=TokenScope.DATA_READ)
@autoDescribeRoute(
Description(
'Get a config file. This walks up the chain of parent folders until '
'the file is found. If not found, the .config folder in the parent '
'collection or user is checked.')
.modelParam('id', model=Folder, level=AccessType.READ)
.param('name', 'The name of the file.', paramType='path')
.errorResponse()
)
@boundHandler()
def getJSONConfigFile(self, folder, name):
user = self.getCurrentUser()
while folder:
item = Item().findOne({'folderId': folder['_id'], 'name': name},
user=user, level=AccessType.READ)
if item:
for file in Item().childFiles(item):
if file['size'] > 10 * 1024 ** 2:
logger.info('Not loading %s -- too large' % file['name'])
continue
with File().open(file) as fptr:
return json.loads(fptr.read())
if folder['parentCollection'] != 'folder':
if folder['name'] == '.config':
break
folder = Folder().findOne({
'parentId': folder['parentId'],
'parentCollection': folder['parentCollection'],
'name': '.config'})
else:
folder = Folder().load(folder['parentId'], user=user, level=AccessType.READ)


class HUIResourceResource(ResourceResource):
def __init__(self, apiRoot):
super(ResourceResource, self).__init__()
Expand Down
36 changes: 0 additions & 36 deletions tests/test_hui_rest.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,42 +218,6 @@ def testResourceMetadata(self, server, admin):
assert meta['keyb']['keyc'] is None
assert meta['keyb']['keyd'] == 'valued'

def testJSONConfigFile(self, server, admin, fsAssetstore):
self.makeResources(admin)
resp = server.request(
path='/folder/%s/json_config/sample.json' % str(self.colFolderC['_id']),
method='GET')
assert utilities.respStatus(resp) == 200
assert resp.json is None

self.colFolderConfig = Folder().createFolder(
self.collection, '.config', parentType='collection',
creator=admin)
utilities.uploadText(
json.dumps({'keyA': 'value1'}),
admin, fsAssetstore, self.colFolderConfig, 'sample.json')
resp = server.request(
path='/folder/%s/json_config/sample.json' % str(self.colFolderC['_id']))
assert utilities.respStatus(resp) == 200
assert resp.json['keyA'] == 'value1'

utilities.uploadText(
json.dumps({'keyA': 'value2'}),
admin, fsAssetstore, self.colFolderA, 'sample.json')
resp = server.request(
path='/folder/%s/json_config/sample.json' % str(self.colFolderC['_id']))
assert utilities.respStatus(resp) == 200
assert resp.json['keyA'] == 'value2'

utilities.uploadText(
json.dumps({'keyA': 'value3'}),
admin, fsAssetstore, self.colFolderC, 'sample.json')
resp = server.request(
path='/folder/%s/json_config/sample.json' % str(self.colFolderC['_id']))
assert utilities.respStatus(resp) == 200
assert resp.json['keyA'] == 'value3'
# ##DWM::


@pytest.mark.plugin('histomicsui')
class TestHUIEndpoints:
Expand Down

0 comments on commit e236103

Please sign in to comment.