Modified:
branches/unhork/grassyknoll/collection/backends/lucene/LuceneCollection.py
branches/unhork/grassyknoll/lib/Norman.py
branches/unhork/grassyknoll/tests/test_Model.py
branches/unhork/grassyknoll/tests/test_Norman.py
Log:
Issue #161: Rename FactoryNorman => Factory.
Modified:
branches/unhork/grassyknoll/collection/backends/lucene/LuceneCollection.py
==============================================================================
---
branches/unhork/grassyknoll/collection/backends/lucene/LuceneCollection.py
(original)
+++
branches/unhork/grassyknoll/collection/backends/lucene/LuceneCollection.py
Mon Jan 5 20:11:32 2009
@@ -307,8 +307,8 @@
norman = self.storage_normans[norman]
return Smarts.SmartDoc(norman(doc))
-class SmartFieldNorman(Norman.FactoryNorman):
- """a L{Norman.FactoryNorman} that generates L{Smarts.SmartField}s
+class SmartFieldNorman(Norman.Factory):
+ """a L{Norman.Factory} that generates L{Smarts.SmartField}s
See L{Smarts.SmartField} and L{Norman.Norman} for parameters.
"""
Modified: branches/unhork/grassyknoll/lib/Norman.py
==============================================================================
--- branches/unhork/grassyknoll/lib/Norman.py (original)
+++ branches/unhork/grassyknoll/lib/Norman.py Mon Jan 5 20:11:32 2009
@@ -4,7 +4,7 @@
>>> pants.sale_date = Date()
>>> pants.size = Int(optional=True)
>>> pants.color = Unicode()
->>> pants.constant = FactoryNorman(lambda x: u"CONSTANT", prohibited=True,
filled=True)
+>>> pants.constant = Factory(lambda x: u"CONSTANT", prohibited=True,
filled=True)
>>> input = dict(sale_date='April 1, 2007', size='32', color='blue')
>>> bluejeans = pants(input)
>>> bluejeans is input
@@ -24,7 +24,7 @@
import dateutil.parser
import datetime
from functools import wraps
-import Factory
+import Factory as _Factory
from grassyknoll.lib import util
from grassyknoll.lib import meta
@@ -274,21 +274,20 @@
else:
return map(self.subnorman, it)
-# XXX might this be better inheriting from (Norman, Factory)?
-class FactoryNorman(Norman):
+class Factory(Norman):
"""Norman that calls a function with curried kwargs"""
__mynames = ('fact', 'optional', 'filled', 'prohibited')
def __init__(self, func, optional=False, filled=False,
prohibited=False,
**kwargs):
- if isinstance(func, Factory.Factory):
+ if isinstance(func, _Factory.Factory):
func.bind(**kwargs)
else:
- func = Factory.Factory(func, **kwargs)
+ func = _Factory.Factory(func, **kwargs)
self.fact = func
- super(FactoryNorman, self).__init__(optional=optional,
filled=filled,
- prohibited=prohibited)
+ super(Factory, self).__init__(optional=optional, filled=filled,
+ prohibited=prohibited)
def __call__(self, x, **kwargs):
return self.fact(x, **kwargs)
@@ -533,8 +532,8 @@
# TODO: use Factory instead of lambda
def TimestampNorman(optional=False, filled=True, prohibited=True):
"""Norman that returns a current L{datetime.datetime}"""
- return FactoryNorman(lambda x: datetime.datetime.now(),
- optional=optional, filled=filled,
prohibited=prohibited)
+ return Factory(lambda x: datetime.datetime.now(),
+ optional=optional, filled=filled, prohibited=prohibited)
# ??? Why not the following? Same number of lines, much simpler.
## class TimestampNorman(Norman):
@@ -544,8 +543,8 @@
def EtagNorman(optional=False, filled=True, prohibited=True):
"""Norman that returns a reasonable value for use as an etag"""
- return FactoryNorman(lambda x: util.unicode_unique_id(),
- optional=optional, filled=filled,
prohibited=prohibited)
+ return Factory(lambda x: util.unicode_unique_id(),
+ optional=optional, filled=filled, prohibited=prohibited)
# ??? Same thing applies here: we could have much simpler code:
## class EtagNorman(Norman):
Modified: branches/unhork/grassyknoll/tests/test_Model.py
==============================================================================
--- branches/unhork/grassyknoll/tests/test_Model.py (original)
+++ branches/unhork/grassyknoll/tests/test_Model.py Mon Jan 5 20:11:32 2009
@@ -313,7 +313,7 @@
assert isinstance(model.fixture.Date, Norman.Date)
assert isinstance(model.table.Date, TableMaker.Column)
assert model.table.Date.type is datetime.date
- assert isinstance(model.lucene.Date, Norman.FactoryNorman)
+ assert isinstance(model.lucene.Date, Norman.Factory)
assert model.lucene.Date.getCallable() is Smarts.SmartField
assert model.lucene.Date.optional == True
assert model.lucene.Date.store == True
Modified: branches/unhork/grassyknoll/tests/test_Norman.py
==============================================================================
--- branches/unhork/grassyknoll/tests/test_Norman.py (original)
+++ branches/unhork/grassyknoll/tests/test_Norman.py Mon Jan 5 20:11:32
2009
@@ -18,8 +18,7 @@
pants.sale_date = Norman.Date()
pants.size = Norman.Int(optional=True)
pants.color = Norman.Unicode()
- pants.constant = Norman.FactoryNorman(lambda x: u"CONSTANT",
- prohibited=True, filled=True)
+ pants.constant = Norman.Factory(lambda x: u"CONSTANT",
prohibited=True, filled=True)
assert_does_not_raise(repr, pants)
@@ -195,11 +194,11 @@
norm = Norman.Time(in_tzinfo=dateutil.tz.tzstr('CST6CDT'))
assert_equals(norm('1:00'), datetime.time(7, 0, 0, 0, tzutc))
-def test_FactoryNorman():
+def test_Factory():
def callme(x, y):
return x * y
- norm = Norman.FactoryNorman(callme, y = 42)
+ norm = Norman.Factory(callme, y = 42)
assert isinstance(norm.fact, Factory.Factory)
assert norm.fact.getCallable() is callme
assert norm.fact.y == 42
@@ -210,7 +209,7 @@
assert norm.optional == True
fact = Factory.Factory(callme)
- norm = Norman.FactoryNorman(fact, y = 42)
+ norm = Norman.Factory(fact, y = 42)
assert norm.fact is fact
assert norm.fact.y == 42
assert norm.y == 42