<reponame>Acidburn0zzz/google-api-python-client
#!/usr/bin/python2.4
# -*- coding: utf-8 -*-
#
# Copyright 2014 Google Inc. All Rights Reserved.

"""Query with ranked results against the shopping search API"""

from googleapiclient.discovery import build


SHOPPING_API_VERSION = 'v1'
DEVELOPER_KEY = '<KEY>'


def main():
  """Get and print a histogram of the top 15 brand distribution for a search
  query.

  Histograms are created by using the "Facets" functionality of the API. A
  Facet is a view of a certain property of products, containing a number of
  buckets, one for each value of that property. Or concretely, for a parameter
  such as "brand" of a product, the facets would include a facet for brand,
  which would contain a number of buckets, one for each brand returned in the
  result.

  A bucket contains either a value and a count, or a value and a range. In the
  simple case of a value and a count for our example of the "brand" property,
  the value would be the brand name, eg "sony" and the count would be the
  number of results in the search.
  """
  client = build('shopping', SHOPPING_API_VERSION, developerKey=DEVELOPER_KEY)
  resource = client.products()
  request = resource.list(source='public', country='US', q=u'digital camera',
                          facets_include='brand:15', facets_enabled=True)
  response = request.execute()

  # Pick the first and only facet for this query
  facet = response['facets'][0]

  print '\n\tHistogram for "%s":\n' % facet['property']

  labels = []
  values = []

  for bucket in facet['buckets']:
    labels.append(bucket['value'].rjust(20))
    values.append(bucket['count'])

  weighting = 50.0 / max(values)

  for label, value in zip(labels, values):
    print label, '#' * int(weighting * value), '(%s)' % value

  print


if __name__ == '__main__':
    main()

#!/usr/bin/python2.4
# -*- coding: utf-8 -*-
#
# Copyright 2014 Google Inc. All Rights Reserved.

"""Query with ranked results against the shopping search API"""

from googleapiclient.discovery import build


SHOPPING_API_VERSION = 'v1'
DEVELOPER_KEY = '<KEY>'


def main():
  """Get and print a histogram of the top 15 brand distribution for a search
  query.

  Histograms are created by using the "Facets" functionality of the API. A
  Facet is a view of a certain property of products, containing a number of
  buckets, one for each value of that property. Or concretely, for a parameter
  such as "brand" of a product, the facets would include a facet for brand,
  which would contain a number of buckets, one for each brand returned in the
  result.

  A bucket contains either a value and a count, or a value and a range. In the
  simple case of a value and a count for our example of the "brand" property,
  the value would be the brand name, eg "sony" and the count would be the
  number of results in the search.
  """
  client = build('shopping', SHOPPING_API_VERSION, developerKey=DEVELOPER_KEY)
  resource = client.products()
  request = resource.list(source='public', country='US', q=u'digital camera',
                          facets_include='brand:15', facets_enabled=True)
  response = request.execute()

  # Pick the first and only facet for this query
  facet = response['facets'][0]

  print '\n\tHistogram for "%s":\n' % facet['property']

  labels = []
  values = []

  for bucket in facet['buckets']:
    labels.append(bucket['value'].rjust(20))
    values.append(bucket['count'])

  weighting = 50.0 / max(values)

  for label, value in zip(labels, values):
    print label, '#' * int(weighting * value), '(%s)' % value

  print


if __name__ == '__main__':
    main()
#!/usr/bin/python2.4 # -*- coding: utf-8 -*- # # Copyright 2014 Google Inc. All Rights Reserved. Query with ranked results against the shopping search API Get and print a histogram of the top 15 brand distribution for a search   query.    Histograms are created by using the "Facets" functionality of the API. A   Facet is a view of a certain property of products, containing a number of   buckets, one for each value of that property. Or concretely, for a parameter   such as "brand" of a product, the facets would include a facet for brand,   which would contain a number of buckets, one for each brand returned in the   result.    A bucket contains either a value and a count, or a value and a range. In the   simple case of a value and a count for our example of the "brand" property,   the value would be the brand name, eg "sony" and the count would be the   number of results in the search. # Pick the first and only facet for this query