[Checkins]
SVN: martian/branches/jw-philipp-using-ndir-directives/src/martian/ndir.py
Small refactoring to make the store set methods reusable.
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Sat May 3 06:42:43 EDT 2008
Log message for revision 86175:
Small refactoring to make the store set methods reusable.
Changed:
U martian/branches/jw-philipp-using-ndir-directives/src/martian/ndir.py
-=-
Modified: martian/branches/jw-philipp-using-ndir-directives/src/martian/ndir.py
===================================================================
--- martian/branches/jw-philipp-using-ndir-directives/src/martian/ndir.py 2008-05-03 10:40:09 UTC (rev 86174)
+++ martian/branches/jw-philipp-using-ndir-directives/src/martian/ndir.py 2008-05-03 10:42:42 UTC (rev 86175)
@@ -8,14 +8,14 @@
class StoreOnce(object):
- def set(self, frame, directive, value):
+ def set(self, locals_, directive, value):
dotted_name = (directive.__class__.__module__ + '.' +
directive.__class__.__name__)
- if dotted_name in frame.f_locals:
+ if dotted_name in locals_:
raise GrokImportError(
"The '%s' directive can only be called once per %s." %
(directive.name, directive.scope.description))
- frame.f_locals[dotted_name] = value
+ locals_[dotted_name] = value
def get(self, directive, component, default):
dotted_name = (directive.__class__.__module__ + '.' +
@@ -33,20 +33,20 @@
class StoreMultipleTimes(StoreOnce):
- def set(self, frame, directive, value):
+ def set(self, locals_, directive, value):
dotted_name = (directive.__class__.__module__ + '.' +
directive.__class__.__name__)
- values = frame.f_locals.setdefault(dotted_name, [])
+ values = locals_.setdefault(dotted_name, [])
values.append(value)
MULTIPLE = StoreMultipleTimes()
class StoreDict(StoreOnce):
- def set(self, frame, directive, value):
+ def set(self, locals_, directive, value):
dotted_name = (directive.__class__.__module__ + '.' +
directive.__class__.__name__)
- values_dict = frame.f_locals.setdefault(dotted_name, {})
+ values_dict = locals_.setdefault(dotted_name, {})
try:
key, value = value
except (TypeError, ValueError):
@@ -107,7 +107,7 @@
value = self.factory(*args, **kw)
- self.store.set(frame, self, value)
+ self.store.set(frame.f_locals, self, value)
# To get a correct error message, we construct a function that has
# the same signature as check_arguments(), but without "self".
More information about the Checkins
mailing list