Server API
- class slicer_package_manager.GirderPlugin(entrypoint)
Bases:
GirderPlugin- DISPLAY_NAME = 'Slicer Package Manager'
This is the named displayed to users on the plugin page. Unlike the entrypoint name used internally, this name can be an arbitrary string.
- load(info)
Subpackages
- slicer_package_manager.api package
- Submodules
- slicer_package_manager.api.app module
AppApp.createNewRelease()App.createOrUpdateExtension()App.createOrUpdatePackage()App.deleteApp()App.deleteExtension()App.deletePackage()App.deleteReleaseByIdOrName()App.getAllDraftReleases()App.getDownloadStats()App.getExtensions()App.getPackages()App.getReleases()App.initApp()App.listApp()
- slicer_package_manager.models package
Submodules
slicer_package_manager.constants module
Constants should be defined here.
slicer_package_manager.utilities module
- slicer_package_manager.utilities.checkAccess(app_id, user)
Check user has access to the application.
- Parameters:
app_id – The ID of the application.
user – The user to check access against.
- Raises:
girder.exceptions.AccessException – If the access check failed.
- Returns:
- slicer_package_manager.utilities.deleteFolder(folder, progress, user)
Recursively delete a folder by ID.
- Parameters:
folder (dict) – The folder document to delete.
progress (girder.utility.progress.ProgressContext or None.) – A progress context to record progress on.
user (dict) – The user creating the progress.
- Returns:
- slicer_package_manager.utilities.getOrCreateReleaseFolder(application, user, app_revision)
Get or create the release folder associated with the application revision.
- Parameters:
application – The parent folder containing the release.
user – The user to check access against or to create the new folder
app_revision – The revision of the application.
- Returns:
The created/existing release folder.
- slicer_package_manager.utilities.getReleaseFolder(item, force=False)
Get item release folder.
The release folder is either the one the with name matching
constants.DRAFT_RELEASE_NAME(e,gdraft) or the release folder (e.g1.0).Applications |--- packages | |----- Slicer | | |----- 1.0 | | | |---- Package1 . . . . | | | |---- extensions | | | | |---- Extension1 . . . . . . . . . . . | | |----- draft | | | |--- r100 | | | | |---- Package1 . . . . . | | | | |----- extensions | | | | | |---- Extension1
- Parameters:
item – A package or extension instance.
force – If you explicitly want to circumvent access checking on this resource, set this to True.
- Returns:
The parent release folder or None.
- slicer_package_manager.utilities.isApplicationFolder(folder)
Return True if folder an application folder.
An application folder is expected to have the
applicationPackageNameTemplateandextensionPackageNameTemplatemetadata as well as parent folder named afterconstants.TOP_LEVEL_FOLDER_NAME.
- slicer_package_manager.utilities.isChildOfSlicerPackages(file_item)
Return True if the file is included in an item corresponding to either an application or an extension package.
- slicer_package_manager.utilities.isDraftReleaseFolder(folder)
Return True if folder is a draft release folder.
A draft release folder is expected to be a release folder (see
isReleaseFolder()) and to have a parent folder named afterconstants.DRAFT_RELEASE_NAME.
- slicer_package_manager.utilities.isReleaseFolder(folder)
Return True if folder is a release folder.
A release folder is expected to have the
revisionmetadata as well as an application parent or grandparent folder (seeisApplicationFolder()).
- slicer_package_manager.utilities.isSlicerPackages(item)
Return True if the item represents either an application or an extension package.