From e728e0c1f338ed8a0e4863482b1ec8f8bfc38781 Mon Sep 17 00:00:00 2001 From: Scott Sanderson Date: Wed, 7 Oct 2015 10:48:42 -0400 Subject: [PATCH] BUG: Fail when passing two Filters to set_screen. --- tests/pipeline/test_pipeline.py | 9 +++++++++ zipline/pipeline/pipeline.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/pipeline/test_pipeline.py b/tests/pipeline/test_pipeline.py index a57a312a..c60ce9f4 100644 --- a/tests/pipeline/test_pipeline.py +++ b/tests/pipeline/test_pipeline.py @@ -119,3 +119,12 @@ class PipelineTestCase(TestCase): p.set_screen(g, overwrite=True) self.assertEqual(p.screen, g) + + with self.assertRaises(TypeError) as e: + p.set_screen(f, g) + + message = e.exception.args[0] + self.assertIn( + "expected a value of type bool or int for argument 'overwrite'", + message, + ) diff --git a/zipline/pipeline/pipeline.py b/zipline/pipeline/pipeline.py index 5461871e..6b3f87f4 100644 --- a/zipline/pipeline/pipeline.py +++ b/zipline/pipeline/pipeline.py @@ -103,7 +103,7 @@ class Pipeline(object): """ return self.columns.pop(name) - @expect_types(screen=Filter) + @expect_types(screen=Filter, overwrite=(bool, int)) def set_screen(self, screen, overwrite=False): """ Set a screen on this Pipeline.