rfaulkner / wikipedia_user_metrics

Wikimedia Foundation E3 Team Analysis Code
Other
9 stars 5 forks source link

Metrics. Use a decorator to handle __init__ method boilerplate #19

Closed rfaulkner closed 11 years ago

rfaulkner commented 11 years ago

Currently:

def __init__(self, **kwargs):

    # Add params from base class
    self.append_params(um.UserMetric)
    self.apply_default_kwargs(kwargs,'init')

    self._date_start_ = um.UserMetric._get_timestamp(kwargs['date_start'])
    um.UserMetric.__init__(self, **kwargs)

Update:

def deco(f):
    def wrapper(self,kwargs):
        self.append_params(um.UserMetric)
        self.apply_default_kwargs(kwargs,'init')
        f(self,kwargs)
    return wrapper

def __init__(self, **kwargs):
    self._date_start_ = um.UserMetric._get_timestamp(kwargs['date_start'])
    um.UserMetric.__init__(self, **kwargs)
rfaulkner commented 11 years ago

implemented. https://github.com/rfaulkner/E3_analysis/commit/991f581e40cc054b53ed87a4e6c2ff605840c7d2