Package pywbem :: Module cim_types
[frames] | no frames]

Module cim_types

source code

Types to represent CIM typed values, and related conversion functions.

The following table shows how CIM typed values are represented as Python objects:

CIM type Python type
boolean bool
char16 unicode or str
string unicode or str
string (EmbeddedInstance) CIMInstance
string (EmbeddedObject) CIMInstance or CIMClass
datetime CIMDateTime
reference CIMInstanceName
uint8 Uint8
uint16 Uint16
uint32 Uint32
uint64 Uint64
sint8 Sint8
sint16 Sint16
sint32 Sint32
sint64 Sint64
real32 Real32
real64 Real64
[] (array) list

Note that constructors of PyWBEM classes that take CIM typed values as input may support Python types in addition to those shown above. For example, the CIMProperty class represents CIM datetime values internally as a CIMDateTime object, but its constructor accepts datetime.timedelta, datetime.datetime, str, and unicode objects in addition to CIMDateTime objects.

Classes
  MinutesFromUTC
A datetime.tzinfo implementation defined using a fixed offset in +/- minutes from UTC.
  CIMType
Base type for numeric and datetime CIM types.
  CIMDateTime
A value of CIM type datetime.
  CIMInt
Base type for integer CIM types.
  Uint8
A value of CIM type uint8.
  Sint8
A value of CIM type sint8.
  Uint16
A value of CIM type uint16.
  Sint16
A value of CIM type sint16.
  Uint32
A value of CIM type uint32.
  Sint32
A value of CIM type sint32.
  Uint64
A value of CIM type uint64.
  Sint64
A value of CIM type sint64.
  CIMFloat
Base type for real (floating point) CIM types.
  Real32
A value of CIM type real32.
  Real64
A value of CIM type real64.
Functions
 
cimtype(obj)
Return the CIM type name of a value, as a string.
source code
 
type_from_name(type_name)
Return the Python type object for a given CIM type name.
source code
 
atomic_to_cim_xml(obj)
Convert a value of an atomic scalar CIM type to a CIM-XML unicode string and return that string.
source code
Function Details

cimtype(obj)

source code 

Return the CIM type name of a value, as a string.

For an array, the type is determined from the first array element because CIM arrays must be homogeneous. If the array is empty, ValueError is raised.

If the type of the value is not a CIM type, TypeError is raised.

Parameters:
  • obj (CIM typed value) - The value whose CIM type name is returned.
Returns:
The CIM type name of the value, as a string.
Raises:
  • TypeError - Type is not a CIM type.
  • ValueError - Cannot determine CIM type from empty array.

type_from_name(type_name)

source code 

Return the Python type object for a given CIM type name.

For example, type name 'uint8' will return type Uint8.

Parameters:
  • type_name (str or unicode) - The simple (=non-array) CIM type name (e.g. 'uint8' or 'reference').
Returns:
The Python type object for the CIM type (e.g. Uint8 or CIMInstanceName).
Raises:
  • ValueError - Unknown CIM type name.

atomic_to_cim_xml(obj)

source code 

Convert a value of an atomic scalar CIM type to a CIM-XML unicode string and return that string.

TODO: Verify whether we can change this function to raise a ValueError in case the value is not CIM typed.

Parameters:
  • obj (CIM typed value.) - The CIM typed value`, including None. Must be a scalar. Must be an atomic type (i.e. not CIMInstance or CIMClass).
Returns:
A unicode string in CIM-XML value format representing the CIM typed value. For a value of None, None is returned.