def __init__(self, **options):
        super(BaseGoogleAnalytics, self).__init__(**options)

        with open(options['oauth_token']) as f:
            token = json_loads(f.read())

        self.client = get_service(**token)
        self.profile_id = _ga(options['profile_id'])
        self.metrics = _gatable(options['metrics'])
        self.qmetrics = ','.join(self.metrics)
        if 'dimensions' in options:
            self.dimensions = _gatable(options['dimensions'])
            self.qdimensions = ','.join(self.dimensions)
        else:
            self.dimensions = ['ga:date']
            self.qdimensions = 'ga:date'
        if 'filters' in options:
            self.filters = _gatable(options['filters'])
            self.qfilters = ','.join(self.filters)
        else:
            self.qfilters = None
        if 'rate_limit' in options:
            self.rate_limit = int(options['rate_limit'])
        else:
            self.rate_limit = 3
        if 'rate_span' in options:
            self.rate_span = float(options['rate_span'])
        else:
            self.rate_span = 1.0
        self.frequency = deque(maxlen=self.rate_limit)
    def __init__(self, **options):
        super(BaseGoogleAnalytics, self).__init__(**options)

        with open(options['oauth_token']) as f:
            token = json_loads(f.read())

        self.client = get_service(**token)
        self.profile_id = _ga(options['profile_id'])
        self.metrics = _gatable(options['metrics'])
        self.qmetrics = ','.join(self.metrics)
        if 'dimensions' in options:
            self.dimensions = _gatable(options['dimensions'])
            self.qdimensions = ','.join(self.dimensions)
        else:
            self.dimensions = ['ga:date']
            self.qdimensions = 'ga:date'
        if 'filters' in options:
            self.filters = _gatable(options['filters'])
            self.qfilters = ','.join(self.filters)
        else:
            self.qfilters = None
        if 'rate_limit' in options:
            self.rate_limit = int(options['rate_limit'])
        else:
            self.rate_limit = 3
        if 'rate_span' in options:
            self.rate_span = float(options['rate_span'])
        else:
            self.rate_span = 1.0
        self.frequency = deque(maxlen=self.rate_limit)
Beispiel #3
0
    def _check(self, data):
        data = dict(data)

        value = data["value"]
        if isinstance(value, buffer):
            value = str(value)
        data.update(json_loads(value))
        del data["value"]

        if self.mysql:
            return data

        # deal with sqlite returning buffers
        for key, value in data.items():
            if isinstance(value, buffer):
                data[key] = str(value)

        # cope with SQLite not having a date type
        date = data["date"]
        if isinstance(date, basestring):
            data["date"] = datetime.datetime.strptime(date, "%Y-%m-%d")

        return data
Beispiel #4
0
    def _check(self, data):
        data = dict(data)

        value = data['value']
        if isinstance(value, buffer):
            value = str(value)
        data.update(json_loads(value))
        del data['value']

        if self.mysql:
            return data

        # deal with sqlite returning buffers
        for key, value in data.items():
            if isinstance(value, buffer):
                data[key] = str(value)

        # cope with SQLite not having a date type
        date = data['date']
        if isinstance(date, basestring):
            data['date'] = datetime.datetime.strptime(date, '%Y-%m-%d')

        return data
 def test_loads_date(self):
     data = json_loads('{"date": "2012-03-15"}')
     self.assertEqual(data, {'date': '2012-03-15'})
Beispiel #6
0
 def test_loads_date(self):
     data = json_loads('{"date": "2012-03-15"}')
     self.assertEqual(data, {'date': '2012-03-15'})