diff decoupage/formatters.py @ 10:a328cc9d2c74

* fix formatters * allow /inherit keyword to specify configuration * bump version
author k0s <k0scist@gmail.com>
date Fri, 25 Dec 2009 01:03:06 -0500
parents ec2d0d850b83
children 9f91acf9874c
line wrap: on
line diff
--- a/decoupage/formatters.py	Thu Dec 24 23:33:37 2009 -0500
+++ b/decoupage/formatters.py	Fri Dec 25 01:03:06 2009 -0500
@@ -13,21 +13,24 @@
     'arg1, arg2, arg3, kw1=foo, kw2=bar, kw3=baz
     """
 
-    defaults = {}
+    defaults = {} # default values for attrs to be set on the instance
+    
 
     def __init__(self, string):
-        args = [ i.strip() for i in string.split(',') ]
+        args = [ i.strip() for i in string.split(',')]
         for index, arg in enumerate(args):
             if '=' in arg:
                 break
         else:
             self.args = args
+            for key, default in self.defaults.items():
+                setattr(self, key, default)
             return
         self.args = args[:index]
         self.kw = dict([i.split('=', 1) for i in args[index:]])
-        for key, default in defaults.items():
-            if key not in self.kw:
-                self.kw[key] = default
+        for key, default in self.defaults.items():
+            value = self.kw.pop(key, default)
+            setattr(self, key, value)
 
 
 ### formatters
@@ -104,7 +107,7 @@
             else:
                 f['title'] = f['description']
                 f['description'] = None
-                
+
         
 def formatters():
     formatters = {}