Beispiel #1
0
 def get(self):
     args = search_parser.parse_args()
     query = args["query"]
     if not query:
         abort_bad_request_param("query", ns)
     search_args = {
         "query": query,
         "kind": SearchKind.users.name,
         "is_auto_complete": False,
         "current_user_id": None,
         "with_users": True,
         "limit": 10,
         "offset": 0,
     }
     response = search(search_args)
     return success_response(response)
Beispiel #2
0
 def get(self):
     """Search for a playlist."""
     args = search_parser.parse_args()
     query = args["query"]
     search_args = {
         "query": query,
         "kind": SearchKind.playlists.name,
         "is_auto_complete": False,
         "current_user_id": None,
         "with_users": True,
         "limit": 10,
         "offset": 0
     }
     response = search(search_args)
     playlists = list(map(extend_playlist, response["playlists"]))
     return success_response(playlists)
Beispiel #3
0
 def get(self):
     """Seach for a user."""
     args = search_parser.parse_args()
     query = args["query"]
     search_args = {
         "query": query,
         "kind": SearchKind.users.name,
         "is_auto_complete": False,
         "current_user_id": None,
         "with_users": True,
         "limit": 10,
         "offset": 0,
     }
     response = search(search_args)
     users = response["users"]
     users = list(map(extend_user, users))
     return success_response(users)
Beispiel #4
0
    def get(self):
        args = full_search_parser.parse_args()
        offset = format_offset(args)
        limit = format_limit(args)
        current_user_id = get_current_user_id(args)

        search_args = {
            "is_auto_complete": False,
            "kind": args.get("kind", "all"),
            "query": args.get("query"),
            "current_user_id": current_user_id,
            "with_users": True,
            "limit": limit,
            "offset": offset,
            "only_downloadable": False,
        }
        resp = search(search_args)
        return success_response(resp)
Beispiel #5
0
 def get(self):
     """Search for a track."""
     args = search_parser.parse_args()
     query = args["query"]
     if not query:
         abort_bad_request_param('query', ns)
     search_args = {
         "query": query,
         "kind": SearchKind.tracks.name,
         "is_auto_complete": False,
         "current_user_id": None,
         "with_users": True,
         "limit": 10,
         "offset": 0
     }
     response = search(search_args)
     tracks = response["tracks"]
     tracks = list(map(extend_track, tracks))
     return success_response(tracks)
Beispiel #6
0
def search_autocomplete():
    args = to_dict(request.args)
    validation_error = validate_search_args(args)
    if validation_error:
        return validation_error

    current_user_id = get_current_user_id(required=False)
    limit, offset = get_pagination_vars()
    search_args = {
        "is_auto_complete": True,
        "kind": args.get("kind", "all"),
        "query": args.get("query"),
        "current_user_id": current_user_id,
        "with_users": False,
        "limit": limit,
        "offset": offset
    }
    resp = search(search_args)
    return api_helpers.success_response(resp)
Beispiel #7
0
    def get(self):
        """
        Get Users/Tracks/Playlists/Albums that best match the search query

        Same as search but optimized for quicker response at the cost of some entity information.
        """
        args = full_search_parser.parse_args()
        offset = format_offset(args)
        limit = format_limit(args)
        current_user_id = get_current_user_id(args)

        search_args = {
            "is_auto_complete": True,
            "kind": args.get("kind", "all"),
            "query": args.get("query"),
            "current_user_id": current_user_id,
            "with_users": False,
            "limit": limit,
            "offset": offset,
            "only_downloadable": False,
        }
        resp = search(search_args)
        return success_response(resp)