From 8f09a8f783e85eef804573e7407cf39608d05730 Mon Sep 17 00:00:00 2001
From: Frank Sauerburger <frank@sauerburger.com>
Date: Sun, 28 Aug 2022 16:15:54 +0200
Subject: [PATCH] Add title suggestion app

---
 app.py           | 29 +++++++++++++++++++++++++++++
 requirements.txt |  1 +
 2 files changed, 30 insertions(+)
 create mode 100644 app.py

diff --git a/app.py b/app.py
new file mode 100644
index 0000000..64849d3
--- /dev/null
+++ b/app.py
@@ -0,0 +1,29 @@
+
+# Copyright 2022, Frank Sauerburger
+
+"""Movie title suggestion api"""
+
+import json
+from flask import Flask, request
+import qgram
+
+app = Flask(__name__)
+
+with open("examples/titles.json") as fileobj:
+    titles = json.load(fileobj)
+
+index = qgram.QGramIndex()
+for title, _ in titles.values():
+    index.add_term(title)
+
+@app.route("/")
+def suggest():
+    query = request.args.get("q")
+    if not query:
+        return {}
+
+    results = index.search(query)
+    return {
+        "suggestions": results[:100]
+    }
+
diff --git a/requirements.txt b/requirements.txt
index e69de29..52b3b92 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -0,0 +1 @@
+flask~=2.1.2
-- 
GitLab