summaryrefslogtreecommitdiff
path: root/css.py
diff options
context:
space:
mode:
Diffstat (limited to 'css.py')
-rw-r--r--css.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/css.py b/css.py
new file mode 100644
index 0000000..b32a274
--- /dev/null
+++ b/css.py
@@ -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__())