예제 #1
0
def get_kmeans_graph():
    """GETs user location query, runs location through a Location class function called 'get books 
    associated with location' from my Model.py and returns a list of book objects associated with a 
    location with the user's input radius.  Books are filtered out based on whether they have a description
    longer than 20 words."""
    user_location_query = flaskrequest.args.get('search-input')
    print "user_location_query for get kmeans", user_location_query
    radius = flaskrequest.args.get('radius')
    print "radius for get kmeans", radius
    book_obj_list = Location.get_books_associated_with_location(radius, user_location_query)
    book_obj_list = [book_obj for book_obj in book_obj_list if book_obj.description]
    book_obj_list = [book_obj for book_obj in book_obj_list if len(book_obj.description.split(" ")) > 20]
    # from the book_cosine_similarity file
    kmeans_cluster_html = returns_kmeans_cluster_graph(book_obj_list) # kmeans result
    return jsonify(kmeans = kmeans_cluster_html)
예제 #2
0
def search_for_books():
    """Search for books through the homepage by location."""

    user_location_query = flaskrequest.args.get('search-input') #both
    print "user query, ", user_location_query
    radius = flaskrequest.args.get('radius')
    print "radius1, ", radius
    radius = int(radius)
    print "radius, ", radius
    print user_location_query

    #query for books associated with place within 100mi
    #returns a list of book objects
    jsonify_search_result_list = []         # json result

    ##hard code with LA cordinates due to quota limit:##
    book_obj_list = Location.get_books_associated_with_location(radius, user_location_query) #both
    book_obj_list = [book_obj for book_obj in book_obj_list if book_obj.description]
    book_obj_list = [book_obj for book_obj in book_obj_list if len(book_obj.description.split(" ")) > 20]
    print book_obj_list


    for book_object in book_obj_list:               # json result
        book_dict = {}
        keyword_list = [word.keyword for word in book_object.keywords]
        keywords = filter(None, keyword_list)
        author_list = [author.author_name for author in book_object.authors if book_object.authors]
        book_dict["title"] = book_object.title.replace('"', "'")
        print book_dict["title"]
        book_dict["subtitle"] = book_object.subtitle
        book_dict["authors"] = ", ".join(author_list)
        book_dict["description"] = book_object.description.replace('"', "'")
        book_dict["thumbnailUrl"] = book_object.thumbnail_url
        book_dict["previewLink"] = book_object.preview_link
        book_dict["keywords"] = keywords
        print book_dict["keywords"]
        jsonify_search_result_list.append(book_dict)
        # print book_dict
    # print jsonify_search_result_list
    print "search complete"
    # user_location_query, jsonify_search_result_list = jsonList_query


    return jsonify(name = jsonify_search_result_list)