'Parses a string to determine the quality in the four component categories.
:param text: The string to parse'

def parse(self, text):

    self.text = text
    self.clean_text = text
    self.resolution = self._find_best(_resolutions, _UNKNOWNS[u'resolution'], False)
    self.source = self._find_best(_sources, _UNKNOWNS[u'source'])
    self.codec = self._find_best(_codecs, _UNKNOWNS[u'codec'])
    self.audio = self._find_best(_audios, _UNKNOWNS[u'audio'])
    for component in self.components:
        for default in component.defaults:
            default = _registry[default]
            if (not getattr(self, default.type)):
                setattr(self, default.type, default)
