Uranium
Application Framework
UM.Settings.ContainerRegistry.ContainerRegistry Class Reference
Inheritance diagram for UM.Settings.ContainerRegistry.ContainerRegistry:
UM.Settings.Interfaces.ContainerRegistryInterface

Public Member Functions

def __init__
 
def addResourceType
 
def getResourceTypes (self)
 
def getDefaultSaveProvider (self)
 
def addWrongContainerId
 
def addProvider
 
def findDefinitionContainers
 
def findDefinitionContainersMetadata
 
def findInstanceContainers
 
def findInstanceContainersMetadata
 
def findContainerStacks
 
def findContainerStacksMetadata
 
def findContainers
 
def findContainersMetadata
 
def findDirtyContainers
 
def getEmptyInstanceContainer (self)
 
def setExplicitReadOnly
 
def isExplicitReadOnly
 
def isReadOnly
 
def getContainerFilePathById
 
def isLoaded
 
def loadAllMetadata (self)
 
def load (self)
 
def addContainer
 
def removeContainer
 
def renameContainer
 
def uniqueName
 
def addContainerType
 
def addContainerTypeByName
 
def getMimeTypeForContainer
 
def getContainerForMimeType
 
def getContainerTypes (cls)
 
def saveContainer
 
def saveDirtyContainers (self)
 
def getLockFilename (self)
 
def getCacheLockFilename (self)
 
def lockFile (self)
 
def lockCache (self)
 
def getInstance (cls, args, kwargs)
 
- Public Member Functions inherited from UM.Settings.Interfaces.ContainerRegistryInterface
def findContainers
 
def findDefinitionContainers
 
def getApplication (cls)
 
def getEmptyInstanceContainer (self)
 
def isReadOnly
 
def setExplicitReadOnly
 
def isExplicitReadOnly
 

Public Attributes

 metadata
 
 source_provider
 

Static Public Attributes

 containerAdded = Signal()
 
 containerRemoved = Signal()
 
 containerMetaDataChanged = Signal()
 
 containerLoadComplete = Signal()
 
 allMetadataLoaded = Signal()
 
dictionary mime_type_map
 

Detailed Description

Central class to manage all setting providers.

This class aggregates all data from all container providers. If only the
metadata is used, it requests the metadata lazily from the providers. If
more than that is needed, the entire container is requested from the
appropriate providers.

Member Function Documentation

◆ getCacheLockFilename()

def UM.Settings.ContainerRegistry.ContainerRegistry.getCacheLockFilename (   self,
  str 
)
Get the cache lock filename including full path.

◆ getContainerTypes()

def UM.Settings.ContainerRegistry.ContainerRegistry.getContainerTypes (   cls)
Get all the registered container types

:return: A dictionary view object that provides access to the container types.
The key is the plugin ID, the value the container type.

◆ getEmptyInstanceContainer()

def UM.Settings.ContainerRegistry.ContainerRegistry.getEmptyInstanceContainer (   self,
  InstanceContainer 
)
This is a small convenience to make it easier to support complex structures in ContainerStacks.

◆ getLockFilename()

def UM.Settings.ContainerRegistry.ContainerRegistry.getLockFilename (   self,
  str 
)
Get the lock filename including full path
Dependent on when you call this function, Resources.getConfigStoragePath may return different paths

◆ getResourceTypes()

def UM.Settings.ContainerRegistry.ContainerRegistry.getResourceTypes (   self,
  Dict,
  str,
  int 
)
Returns all resource types.

◆ load()

def UM.Settings.ContainerRegistry.ContainerRegistry.load (   self,
  None 
)
Load all available definition containers, instance containers and
container stacks.

:note This method does not clear the internal list of containers. This means that any containers
that were already added when the first call to this method happened will not be re-added.

◆ loadAllMetadata()

def UM.Settings.ContainerRegistry.ContainerRegistry.loadAllMetadata (   self,
  None 
)
Load the metadata of all available definition containers, instance
containers and container stacks.

◆ lockCache()

def UM.Settings.ContainerRegistry.ContainerRegistry.lockCache (   self,
  LockFile 
)
Context manager to create a lock file for the cache directory and remove
it afterwards.

◆ lockFile()

def UM.Settings.ContainerRegistry.ContainerRegistry.lockFile (   self,
  LockFile 
)
Contextmanager to create a lock file and remove it afterwards.

◆ saveDirtyContainers()

def UM.Settings.ContainerRegistry.ContainerRegistry.saveDirtyContainers (   self,
  None 
)
Save all the dirty containers by calling the appropriate container providers

Member Data Documentation

◆ mime_type_map

dictionary UM.Settings.ContainerRegistry.ContainerRegistry.mime_type_map
static
Initial value:
= {
"application/x-uranium-definitioncontainer": DefinitionContainer,
"application/x-uranium-instancecontainer": InstanceContainer,
"application/x-uranium-containerstack": ContainerStack,
"application/x-uranium-extruderstack": ContainerStack
}

The documentation for this class was generated from the following file: