def push_stats_to_data_set(pingdom_stats,
                           check_name,
                           data_set_url,
                           data_set_token):
    data_set = DataSet(url=data_set_url, token=data_set_token)
    data_set.post([convert_from_pingdom_to_backdrop(thing, check_name) for
                  thing in pingdom_stats])
def compute(args):

    credentials = args['credentials']
    client = gapy.client.from_secrets_file(
        credentials['CLIENT_SECRETS'],
        storage_path=credentials['STORAGE_PATH'])

    query = args['query']
    ga_query = parse_query(query['query'])

    collapse_key = "pageTitle"

    (start, middle, end) = get_date()

    data = client.query.get(
        ga_query['id'], start, end, [ga_query['metric']],
        ga_query['dimensions'],
        ga_query['filters'] if 'filters' in ga_query else None)

    collapsed_data = sum_data(data, ga_query['metric'], collapse_key,
                              (start, middle, end), 500)
    trended_data = get_trends(collapsed_data)
    flattened_data = flatten_data_and_assign_ids(trended_data)

    data_set = DataSet(query['target']['url'], query['target']['token'])

    data_set.post(flattened_data)
    def send_records_for(self, query, to):
        data_set = DataSet(**to)

        visitor_count = self._realtime.query(query)

        record = self._create_record(visitor_count, query.get('filters', ''))

        data_set.post(record)
Exemple #4
0
    def test_post_to_data_set_serializes_datetimes(self, requests):
        data_set = DataSet(None, None)

        data_set.post({'key': datetime(2012, 12, 12)})

        requests.post.assert_called_with(
            url=mock.ANY,
            headers=mock.ANY,
            data='{"key": "2012-12-12T00:00:00+00:00"}')
    def send_records_for(self, query, to):
        data_set = DataSet(**to)

        visitor_count = self._realtime.query(query)

        record = self._create_record(visitor_count,
                                     query.get('filters', ''))

        data_set.post(record)
    def test_post_to_data_set_serializes_datetimes(self, requests):
        data_set = DataSet(None, None)

        data_set.post({'key': datetime(2012, 12, 12)})

        requests.post.assert_called_with(
            url=mock.ANY,
            headers=mock.ANY,
            data='{"key": "2012-12-12T00:00:00+00:00"}'
        )
Exemple #7
0
    def test_post_data_to_data_set(self, requests):
        data_set = DataSet('foo', 'bar')

        data_set.post({'key': 'value'})

        requests.post.assert_called_with(url='foo',
                                         headers={
                                             'Authorization': 'Bearer bar',
                                             'Content-type': 'application/json'
                                         },
                                         data='{"key": "value"}')
    def test_post_data_to_data_set(self, requests):
        data_set = DataSet('foo', 'bar')

        data_set.post({'key': 'value'})

        requests.post.assert_called_with(
            url='foo',
            headers={
                'Authorization': 'Bearer bar',
                'Content-type': 'application/json'
            },
            data='{"key": "value"}'
        )
Exemple #9
0
 def test_from_target(self):
     data_set = DataSet(url='foo', token='bar')
     eq_(data_set.url, 'foo')
     eq_(data_set.token, 'bar')
Exemple #10
0
 def test_raises_error_on_4XX_or_5XX_responses(self, mock_post):
     data_set = DataSet(None, None)
     response = Response()
     response.status_code = 418
     mock_post.return_value = response
     self.assertRaises(HTTPError, data_set.post, {'key': 'foo'})