MAINT: Use Python 3 compatible metaclass.

Use six's with_metaclass to have objects that use metaclasses, in
both Python 2 and 3.

Otherwise, in Python 3 the objects were being treated as if they
did not have a metaclass, when the Python 2 syntax is used, leading
to errors because of missing attributes, etc.
This commit is contained in:
Eddie Hebert
2014-01-07 11:58:01 -05:00
parent f093b2fb59
commit 8481e2df49
7 changed files with 21 additions and 17 deletions
+3 -3
View File
@@ -3,13 +3,13 @@ from abc import (
abstractproperty
)
from six import with_metaclass
from zipline.protocol import DATASOURCE_TYPE
from zipline.protocol import Event
class DataSource(object):
__metaclass__ = ABCMeta
class DataSource(with_metaclass(ABCMeta)):
@property
def event_type(self):