Uranium
Application Framework
UM.Settings.ContainerQuery.ContainerQuery Class Reference

Wrapper class to perform a search for a certain set of containers. More...

Public Member Functions

def __init__
 Constructor. More...
 
def getContainerType (self)
 Get the class of the containers that this query should find, if any. More...
 
def getResult (self)
 Retrieve the result of this query. More...
 
def isIdOnly (self)
 Check to see if this is a very simple query that looks up a single container by ID. More...
 
def isHashable (self)
 Check to see if any of the kwargs is a Dict, which is not hashable for query caching. More...
 
def execute
 Execute the actual query. More...
 
def __hash__ (self)
 
def __eq__ (self, other)
 
def __str__ (self)
 Human-readable string representation for debugging. More...
 

Detailed Description

Wrapper class to perform a search for a certain set of containers.

This class is primarily intended to be used internally by ContainerRegistry::findContainers. It is used to perform the actual searching for containers and cache the results.

Note
Instances of this class will ignore the query results when comparing. This is done to simplify the caching code in ContainerRegistry.

Constructor & Destructor Documentation

◆ __init__()

def UM.Settings.ContainerQuery.ContainerQuery.__init__ (   self,
  registry 
)

Constructor.

Parameters
registryThe ContainerRegistry instance this query operates on.
container_typeA specific container class that should be filtered for.
ignore_caseWhether or not the query should be case sensitive.
kwargsA dict of key, value pairs that should be searched for.

Member Function Documentation

◆ __str__()

def UM.Settings.ContainerQuery.ContainerQuery.__str__ (   self)

Human-readable string representation for debugging.

◆ execute()

def UM.Settings.ContainerQuery.ContainerQuery.execute (   self,
  candidates 
)

Execute the actual query.

This will search the container metadata of the ContainerRegistry based on the arguments provided to this class' constructor. After it is done, the result can be retrieved with getResult().

◆ getContainerType()

def UM.Settings.ContainerQuery.ContainerQuery.getContainerType (   self,
  Optional,
  type 
)

Get the class of the containers that this query should find, if any.

If the query doesn't filter on container type, None is returned.

◆ getResult()

def UM.Settings.ContainerQuery.ContainerQuery.getResult (   self,
  Optional,
  List,
  Dict,
  str,
  Any 
)

Retrieve the result of this query.

Returns
A list of containers matching this query, or None if the query was not executed.

◆ isHashable()

def UM.Settings.ContainerQuery.ContainerQuery.isHashable (   self,
  bool 
)

Check to see if any of the kwargs is a Dict, which is not hashable for query caching.

Returns
True if this query is hashable.

◆ isIdOnly()

def UM.Settings.ContainerQuery.ContainerQuery.isIdOnly (   self,
  bool 
)

Check to see if this is a very simple query that looks up a single container by ID.

Returns
True if this query is case sensitive, has only 1 thing to search for and that thing is "id".

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