@@ -124,16 +124,16 @@ class FeatureSpec:
124124
125125 ALLOWED_TRANSFORMS = ['pre_agg' , 'agg' , 'post_agg' , 'pre_rebase_agg' , 'rebase_agg' , 'post_rebase_agg' , 'alias' ]
126126
127- def __init__ (self , source , alias = None , transforms = None ):
128- self .source = source
129- self .alias = alias or None
130- self .transforms = transforms or {}
127+ def __init__ (self , alias , source = None , transforms = None ):
128+ self ._alias = alias
129+ self ._source = source or alias
130+ self ._transforms = transforms or {}
131131
132132 def __repr__ (self ):
133133 return "<Measure" + (f"[{ self .alias } ]" if self .alias else "" ) + (" (with transforms)" if self .transforms else "" ) + ">"
134134
135- def with_alias (self , alias ):
136- self .alias = alias
135+ def source (self , source ):
136+ self ._source = source
137137 return self
138138
139139 def with_transforms (self , unit_type , pre_agg = None , agg = None , post_agg = None , pre_rebase_agg = None , rebase_agg = None , post_rebase_agg = None , alias = None ):
@@ -144,33 +144,32 @@ def with_transforms(self, unit_type, pre_agg=None, agg=None, post_agg=None, pre_
144144 if variables [name ] is not None
145145 }
146146 if transforms :
147- self .transforms [unit_type ] = transforms
147+ self ._transforms [unit_type ] = transforms
148148 return self
149149
150150 def get_attrs (self , unit_type ):
151151 attrs = {
152- 'transforms' : self .transforms
152+ 'transforms' : self ._transforms
153153 }
154- if self .alias :
155- if unit_type not in attrs ['transforms' ]:
156- attrs ['transforms' ][unit_type ] = {}
157- attrs ['transforms' ][unit_type ]['alias' ] = self .alias
154+ if unit_type not in attrs ['transforms' ]:
155+ attrs ['transforms' ][unit_type ] = {}
156+ attrs ['transforms' ][unit_type ]['alias' ] = self ._alias
158157 return attrs
159158
160159 def as_source_with_attrs (self , unit_type ):
161- return self .source , self .get_attrs (unit_type )
160+ return self ._source , self .get_attrs (unit_type )
162161
163162 @property
164163 def as_dict (self ):
165164 return {
166- 'source' : self .source ,
167- 'alias' : self .alias ,
168- 'transforms' : self .transforms
165+ 'source' : self ._source ,
166+ 'alias' : self ._alias ,
167+ 'transforms' : self ._transforms
169168 }
170169
171170 @property
172171 def as_yaml (self ):
173- return yaml .dump (self .as_feature , default_flow_style = False , indent = 4 )
172+ return yaml .dump (self .as_dict , default_flow_style = False , indent = 4 )
174173
175174
176175class MeasureSpec (FeatureSpec ):
0 commit comments