Coverage for girder/utility/assetstore_utilities: 70%

# Coverage for girder/utility/assetstore_utilities : 70%

## 20 statements 14 run 6 missing 0 excluded

Hot-keys on this page

r m x p toggle line displays

j k next/prev highlighted chunk

0 (zero) top of page

1 (one) first highlighted chunk

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/usr/bin/env python # -*- coding: utf-8 -*- ############################################################################### # Copyright 2013 Kitware Inc. # # Licensed under the Apache License, Version 2.0 ( the "License" ); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### import os from .filesystem_assetstore_adapter import FilesystemAssetstoreAdapter from .gridfs_assetstore_adapter import GridFsAssetstoreAdapter from .model_importer import ModelImporter from girder.constants import AssetstoreType from girder import events def getAssetstoreAdapter(assetstore): """ This is a factory method that will return the appropriate assetstore adapter for the specified assetstore. The returned object will conform to the interface of the AbstractAssetstoreAdapter. :param assetstore: The assetstore document used to instantiate the adapter. :type assetstore: dict :returns: An adapter descending from AbstractAssetstoreAdapter """ if assetstore['type'] == AssetstoreType.FILESYSTEM: assetstoreAdapter = FilesystemAssetstoreAdapter(assetstore) elif assetstore['type'] == AssetstoreType.GRIDFS: assetstoreAdapter = GridFsAssetstoreAdapter(assetstore) elif assetstore['type'] == AssetstoreType.S3: raise Exception('S3 assetstore adapter not implemented.') else: e = events.trigger('assetstore.adapter.get', assetstore) if len(e.responses) > 0: return e.responses[-1] raise Exception('No AssetstoreAdapter for type: ' + assetstore['type']) return assetstoreAdapter def fileIndexFields(): """ This will return a set of all required index fields from all of the different assetstore types. """ return list(set( FilesystemAssetstoreAdapter.fileIndexFields() + GridFsAssetstoreAdapter.fileIndexFields() ))