parameters: (composite_property_s, component_properties_s)
docstring: Sets the components of the given composite property.
  
      All parameters are <feature>value strings
docstring_summary: Sets the components of the given composite property.
docstring_tokens: Sets the components of the given composite property .
function: def compose (composite_property_s, component_properties_s):
      """ Sets the components of the given composite property.
  
      All parameters are <feature>value strings
      """
      from . import property
  
      component_properties_s = to_seq (component_properties_s)
      composite_property = property.create_from_string(composite_property_s)
      f = composite_property.feature
  
      if len(component_properties_s) > 0 and isinstance(component_properties_s[0], property.Property):
          component_properties = component_properties_s
      else:
          component_properties = [property.create_from_string(p) for p in component_properties_s]
  
      if not f.composite:
          raise BaseException ("'%s' is not a composite feature" % f)
  
      if property in __composite_properties:
          raise BaseException ('components of "%s" already set: %s' % (composite_property, str (__composite_properties[composite_property])))
  
      if composite_property in component_properties:
          raise BaseException ('composite property "%s" cannot have itself as a component' % composite_property)
  
      __composite_properties[composite_property] = component_properties
function_tokens: def compose ( composite_property_s , component_properties_s ) : from . import property component_properties_s = to_seq ( component_properties_s ) composite_property = property . create_from_string ( composite_property_s ) f = composite_property . feature if len ( component_properties_s ) > 0 and isinstance ( component_properties_s [ 0 ] , property . Property ) : component_properties = component_properties_s else : component_properties = [ property . create_from_string ( p ) for p in component_properties_s ] if not f . composite : raise BaseException ( "'%s' is not a composite feature" % f ) if property in __composite_properties : raise BaseException ( 'components of "%s" already set: %s' % ( composite_property , str ( __composite_properties [ composite_property ] ) ) ) if composite_property in component_properties : raise BaseException ( 'composite property "%s" cannot have itself as a component' % composite_property ) __composite_properties [ composite_property ] = component_properties