Language tweaks

This commit is contained in:
dmichalowicz
2016-06-17 18:18:46 -04:00
parent 6b9b9fb8e7
commit ed8947dfb3
+13 -5
View File
@@ -1,6 +1,6 @@
from zipline.utils.input_validation import expect_types, optional
from .term import AssetExists, ComputableTerm
from .term import AssetExists, ComputableTerm, Term
from .filters import Filter
from .graph import TermGraph
@@ -37,11 +37,13 @@ class Pipeline(object):
if columns is None:
columns = {}
for term in columns.values():
for column_name, term in columns.items():
if not isinstance(term, ComputableTerm):
raise TypeError(
'"{term}" is not a valid pipeline column. Did you mean '
'to add ".latest"?'.format(term=term)
"Column {column_name!r} contains an invalid pipeline term "
"({term}). Did you mean to append '.latest'?".format(
column_name=column_name, term=term,
)
)
self._columns = columns
self._screen = screen
@@ -60,7 +62,7 @@ class Pipeline(object):
"""
return self._screen
@expect_types(term=ComputableTerm, name=str)
@expect_types(term=Term, name=str)
def add(self, term, name, overwrite=False):
"""
Add a column.
@@ -85,6 +87,12 @@ class Pipeline(object):
else:
raise KeyError("Column '{}' already exists.".format(name))
if not isinstance(term, ComputableTerm):
raise TypeError(
"{term} is not a valid pipeline column. Did you mean to "
"append '.latest'?".format(term=term)
)
self._columns[name] = term
@expect_types(name=str)