Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yaparlareddy/687130f7b8db08aecd552886960f23a7 to your computer and use it in GitHub Desktop.
Save yaparlareddy/687130f7b8db08aecd552886960f23a7 to your computer and use it in GitHub Desktop.

Revisions

  1. yaparlareddy created this gist Jul 17, 2020.
    51 changes: 51 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@
    from flask import Flask, request, jsonify
    import redis

    Redis = redis.StrictRedis(host='localhost', port=6379, db=0, charset="utf-8", decode_responses=True)

    app = Flask(__name__)


    @app.route("/")
    def root():
    return "Hello world!"


    @app.route("/add_word/word=<word>")
    def insert(word):
    word = word.strip()
    for index in range(1, len(word)):
    substring = word[0:index]
    Redis.zadd("database2", {substring: 0})
    print(substring)
    Redis.zadd("database2", {(word + '*'): 0})

    return "add word"


    @app.route("/autocomplete/query=<word>")
    def find(word):
    word = word.strip()
    autocompleted_words = []
    starting_index = Redis.zrank("database2", word)
    if not starting_index:
    return []

    range = Redis.zrange("database2", starting_index, -1)
    if len(range) == 0 or not range:
    return []
    data: object
    for data in range:
    print(data)
    min_len = min(len(data), len(word))
    if data[0:min_len] != word[0:min_len]:
    return jsonify(autocompleted_words)
    break
    if len(data) > 1 and data[-1] == '*':
    autocompleted_words.append(data[0:-1])
    print(autocompleted_words)
    return jsonify(autocompleted_words)


    if __name__ == "__main__":
    app.run(debug=True, use_reloader=True)