diff --git a/bijoe/schemas.py b/bijoe/schemas.py index 1f4bc8b..ec7b8dd 100644 --- a/bijoe/schemas.py +++ b/bijoe/schemas.py @@ -167,20 +167,19 @@ class Dimension(Base): 'absent_label': six.text_type, } - label = None - value_label = None - order_by = None - group_by = None - join = None - filter = True - filter_in_join = False - filter_value = None - filter_expression = None - filter_needs_join = True - members_query = None - absent_label = None - def __init__(self, **kwargs): + self.label = None + self.value_label = None + self.order_by = None + self.group_by = None + self.join = None + self.filter = True + self.filter_in_join = False + self.filter_value = None + self.filter_expression = None + self.filter_needs_join = True + self.members_query = None + self.absent_label = None super(Dimension, self).__init__(**kwargs) if not self.absent_label: if self.type in ('date', 'integer', 'string'): @@ -345,7 +344,9 @@ class Join(Base): 'kind': join_kind, } - kind = 'full' + def __init__(self, **kwargs): + self.kind = 'full' + super(Join, self).__init__(**kwargs) @property def master_table(self): @@ -369,11 +370,13 @@ class Cube(Base): 'warnings': [six.text_type], } - json_field = None - joins = () - dimensions = () - measures = () - warnings = () + def __init__(self, **kwargs): + self.json_field = None + self.joins = () + self.dimensions = () + self.measures = () + self.warnings = () + super(Cube, self).__init__(**kwargs) def check(self): names = collections.Counter() @@ -423,8 +426,10 @@ class Warehouse(Base): 'path': str, } - path = None - slug = None + def __init__(self, **kwargs): + self.path = None + self.slug = None + super(Warehouse, self).__init__(**kwargs) def check(self): names = collections.Counter(cube.name for cube in self.cubes)