Walk on rule prelude (aka CSS selector) tokens to return a string of
        the value name (from css selector).

        Actually only simple selector and selector with descendant combinator
        are supported. Using any other selector kind may leads to unexpected
        issues.

        Arguments:
            rule (tinycss2.ast.QualifiedRule): Qualified rule object as
                returned by  tinycss2.

        Returns:
            string: Selector name. If it's a descendant combinator, items are
                joined with ``__``.

def digest_prelude(self, rule):
        """
        Walk on rule prelude (aka CSS selector) tokens to return a string of
        the value name (from css selector).

        Actually only simple selector and selector with descendant combinator
        are supported. Using any other selector kind may leads to unexpected
        issues.

        Arguments:
            rule (tinycss2.ast.QualifiedRule): Qualified rule object as
                returned by  tinycss2.

        Returns:
            string: Selector name. If it's a descendant combinator, items are
                joined with ``__``.
        """
        name = []

        for token in rule.prelude:
            if token.type == 'ident':
                name.append(token.value)

        return "__".join(name)