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 execute
 Execute the actual query. More...
 
def __str__ (self)
 Human-readable string representation for debugging. More...
 

Static Public Attributes

dictionary cache = {}
 
tuple OPTIONS_REGEX = re.compile("^\\[[a-zA-Z0-9-_\\+\\. ]+(\\|[a-zA-Z0-9-_\\+\\. ]+)*\\]$")
 

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

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

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

Human-readable string representation for debugging.

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().

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.

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.
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: