1# coding=utf-8
2
3from flask import request, jsonify
4from flask_restful import Resource
5
6from ..utils import authenticate
7from config import settings
8from database import TableShows, TableMovies
9
10
11class Searches(Resource):
12    @authenticate
13    def get(self):
14        query = request.args.get('query')
15        search_list = []
16
17        if query:
18            if settings.general.getboolean('use_sonarr'):
19                # Get matching series
20                series = TableShows.select(TableShows.title,
21                                           TableShows.sonarrSeriesId,
22                                           TableShows.year)\
23                    .where(TableShows.title.contains(query))\
24                    .order_by(TableShows.title)\
25                    .dicts()
26                series = list(series)
27                search_list += series
28
29            if settings.general.getboolean('use_radarr'):
30                # Get matching movies
31                movies = TableMovies.select(TableMovies.title,
32                                            TableMovies.radarrId,
33                                            TableMovies.year) \
34                    .where(TableMovies.title.contains(query)) \
35                    .order_by(TableMovies.title) \
36                    .dicts()
37                movies = list(movies)
38                search_list += movies
39
40
41        return jsonify(search_list)
42