diff --git a/Makefile b/Makefile index ab14b3871bba3ca80d2b5c425bf3af356bd8f374..36483662ebf22ba1900bbe2c82e9307cdb6547ef 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -TAG=0.4.0 +TAG=0.5.0 build: DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build -t gitlab.sauerburger.com:5049/frank/wakefield-movie-recommender:$(TAG) . diff --git a/app.py b/app.py index 923cb3e55053b958f896ef0768c5cb7384305b53..d3122307e321f4693bfef9a2c11c06d10f45987b 100644 --- a/app.py +++ b/app.py @@ -50,18 +50,30 @@ def suggest(): } -@app.route("/titles/<int:mid>") -def byid(mid): - """Show healthz status""" - if mid not in movie_titles: - abort(404) +@app.route("/titles/<mids>") +def byid(mids): + """Load movie data by id""" + results = [] + + for mid in mids.split(","): + try: + mid = int(mid) + if mid not in movie_titles: + raise ValueError() + except ValueError: + results.append({}) + continue + + res_title, res_year = movie_titles[mid] + data = { + "id": mid, + "title": res_title, + "year": res_year + } + results.append(data) + + return {"movies": results} - res_title, res_year = movie_titles[mid] - return { - "id": mid, - "title": res_title, - "year": res_year - } @app.route("/titles/healthz") def healthz():