from flask import Flask
from flask import request
from redis import Redis, RedisError
import os
import socket

# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)

app = Flask(__name__)

@app.route("/command")
def hello():
    try:
        visits = redis.incr("counter")
    except RedisError:
        visits = "<i>cannot connect to Redis, counter disabled</i>"

	try:
		searchword = request.args.get('key', '')
	except:
		searchword = "none"
	
    html = "<h3>Hello {name}!</h3>" \
           "<b>Hostname:</b> {hostname}<br/>" \
		   "<b>{searchword}</b><br/>"\
           "<b>Visits:</b> {visits}"
    return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), \
		visits=visits,searchword=searchword)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8080)