[Checkins] SVN: zope.schema/branches/faassen-transformer/src/zope/schema/_transformer.py Refactoring a bit.

Martijn Faassen faassen at startifact.com
Thu Feb 4 13:43:34 EST 2010


Log message for revision 108776:
  Refactoring a bit.
  

Changed:
  U   zope.schema/branches/faassen-transformer/src/zope/schema/_transformer.py

-=-
Modified: zope.schema/branches/faassen-transformer/src/zope/schema/_transformer.py
===================================================================
--- zope.schema/branches/faassen-transformer/src/zope/schema/_transformer.py	2010-02-04 18:09:18 UTC (rev 108775)
+++ zope.schema/branches/faassen-transformer/src/zope/schema/_transformer.py	2010-02-04 18:43:33 UTC (rev 108776)
@@ -13,10 +13,7 @@
                                            order=order)
             order += 1
             
-        return transformer(InterfaceClass(name=self.schema.__name__,
-                                          bases=self.schema.__bases__,
-                                          __module__=self.schema.__module__,
-                                          attrs=attrs))
+        return self._transformer(attrs)
 
     def omit(self, names):
         attrs = {}
@@ -26,12 +23,9 @@
                 attrs[name] = self._copy_field(self.schema[name],
                                                order=order)
             order += 1
-            
-        return transformer(InterfaceClass(name=self.schema.__name__,
-                                          bases=self.schema.__bases__,
-                                          __module__=self.schema.__module__,
-                                          attrs=attrs))
 
+        return self._transformer(attrs)
+
     def override(self, name, **kw):
         attrs = {}
         order = 0
@@ -40,13 +34,16 @@
                                            order=order,
                                            **kw)
             order += 1
+        return self._transformer(attrs)
     
+ 
+
+    def _transformer(self, attrs):
         return transformer(InterfaceClass(name=self.schema.__name__,
                                           bases=self.schema.__bases__,
                                           __module__=self.schema.__module__,
                                           attrs=attrs))
-
-        
+    
     def _copy_field(self, field, **kw):
         # by passing None as context, we can trick the binding
         # machinery into making a straight copy



More information about the checkins mailing list