import cssutils

EXPOUT = '''--- ORIGINAL ---\n@charset "ascii";\n        @namespace PREfix "uri";\n        SOME > WeIrD + selector ~ used here {color: green}\n        PREfix|name {color: green}\n    \n\n--- SELECTORS TO LOWER CASE (does not simply work for PREfix|name!) ---\n--- CHANGE PREFIX (prefix is not really part of selectorText, URI is! ---\n\n@charset "ascii";\n@namespace lower-case_prefix "uri";\nsome > weird + selector ~ used here {\n    color: green\n    }\nlower-case_prefix|name {\n    color: green\n    }\n'''
EXPERR = 'Property: Found valid "CSS Level 2.1" value: green [3:46: color]\nProperty: Found valid "CSS Level 2.1" value: green [4:22: color]\n'


def main():
    examplecss = """@charset "ascii";
        @namespace PREfix "uri";
        SOME > WeIrD + selector ~ used here {color: green}
        PREfix|name {color: green}
    """

    import logging

    sheet = cssutils.CSSParser(loglevel=logging.DEBUG).parseString(examplecss)

    print("--- ORIGINAL ---")
    print(examplecss)
    print()

    print("--- SELECTORS TO LOWER CASE (does not simply work for PREfix|name!) ---")
    sheet.cssRules[2].selectorText = sheet.cssRules[2].selectorText.lower()

    print("--- CHANGE PREFIX (prefix is not really part of selectorText, URI is! ---")
    sheet.cssRules[1].prefix = 'lower-case_prefix'

    print()
    print(sheet.cssText)


if __name__ == '__main__':
    main()
