# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4
from __future__ import division

import ox.web.google
import stdnum.isbn

from .utils import find_isbns


def find(title, author=None, publisher=None, date=None):
    print 'google.find', title, author, publisher, date
    query = title
    if author:
        if isinstance(author, list):
            author = ' '.join(author)
        query += ' ' + author
    query += ' isbn'
    isbns = []
    for r in ox.web.google.find(query):
        isbns += find_isbns(' '.join(r))

    results = []
    done = set()
    for isbn in isbns:
        if isbn not in done:
            key = 'isbn%d'%len(isbn)
            #r = lookup(key, isbn)
            #r['mainid'] = key
            r = {
                key: isbn,
                'mainid': key
            }
            results.append(r)
            done.add(isbn)
            if len(isbn) == 10:
                done.add(stdnum.isbn.to_isbn13(isbn))
    return results