def container_query(self, query, quiet=False):
results = self._list_containers()<EOL>matches = []<EOL>for result in results:<EOL><INDENT>is_match = False<EOL>if query in result['<STR_LIT:id>']:<EOL><INDENT>is_match = True<EOL><DEDENT>elif query in result['<STR_LIT:name>']:<EOL><INDENT>is_match = True<EOL><DEDENT>else:<EOL><INDENT>for key,val in result['<STR_LIT>'].items():<EOL><INDENT>if query in val and is_match is False:<EOL><INDENT>is_match = True<EOL>break<EOL><DEDENT><DEDENT><DEDENT>if is_match is True:<EOL><INDENT>matches.append(result)<EOL><DEDENT><DEDENT>if not quiet:<EOL><INDENT>bot.info("<STR_LIT>" %(self._base,len(matches)))<EOL>for image in matches:<EOL><INDENT>if '<STR_LIT>' in image:<EOL><INDENT>image.update(image['<STR_LIT>'])<EOL><DEDENT>bot.info(image['<STR_LIT>'])<EOL>for key in sorted(image, key=len):<EOL><INDENT>val = image[key]<EOL>if isinstance(val,str):<EOL><INDENT>bot.custom(prefix=key.ljust(<NUM_LIT:10>), message=val, color="<STR_LIT>")<EOL><DEDENT><DEDENT>bot.newline()<EOL><DEDENT><DEDENT>return matches<EOL>
search for a specific container.
    This function is the same as the search all, but instead of showing all
    results, filters them down based on user criteria (the query)