diff options
Diffstat (limited to 'css.py')
-rw-r--r-- | css.py | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -0,0 +1,29 @@ +#!/usr/bin/python3 +import re + + +class Rule: + + def __init__(self, *path, **properties): + self.path = path + self.properties = properties + + def _f(self, prop): + key, value = prop + key = re.sub("([A-Z])", "-\\1", key).lower() + return " {}: {};".format(key, value) + + def __format__(self): + result = " ".join(self.path) + result += " {\n" + result += "\n".join(map(self._f, self.properties.items())) + result += "\n}\n" + return result + + +def string(*rules): + return "\n".join(map(lambda r: r.__format__(), rules)) + +if __name__ == "__main__": + print("CSS Demo") + print(Rule(".foo", "#blah", backgroundColor="red").__format__()) |