def build_composite(<EOL>self, format_string, param_dict=None, composites=None, attr_getter=None<EOL>):
if param_dict is None:<EOL><INDENT>param_dict = {}<EOL><DEDENT>if composites:<EOL><INDENT>for key, value in composites.items():<EOL><INDENT>param_dict[key] = Composite(value)<EOL><DEDENT><DEDENT>try:<EOL><INDENT>return self._formatter.format(<EOL>format_string,<EOL>self._py3status_module,<EOL>param_dict,<EOL>force_composite=True,<EOL>attr_getter=attr_getter,<EOL>)<EOL><DEDENT>except Exception:<EOL><INDENT>self._report_exception(u"<STR_LIT>".format(format_string))<EOL>return [{"<STR_LIT>": "<STR_LIT>"}]<EOL><DEDENT>
.. note::
    deprecated in 3.3 use safe_format().

Build a composite output using a format string.

Takes a format_string and treats it the same way as ``safe_format()`` but
also takes a composites dict where each key/value is the name of the
placeholder and either an output eg ``{'full_text': 'something'}`` or a
list of outputs.