import flask
from flask import request
import random

app = flask.Flask(__name__)

users = {}

@app.get("/")
def GET_index():
  return '''<!DOCTYPE html>
  <html><head><title>Tracking page</title>
  <link rel="stylesheet" type="text/css" href="styles.css"/></head>
  <body>Welcome to this page!</body></html>'''

@app.get("/styles.css")
def GET_styles():
  body = "body { font-size: 300%; }"
  etag = request.headers.get('If-None-Match')
  if etag: etag = etag.split(', ')[0].strip('"')
  if etag and etag in users:
    users[etag] += 1
    print("User",etag,"visit number",users[etag])
    status = 304
  else:
    etag = str(random.randrange(0xFFFFFFFF))
    users[etag] = 1
    print("User",etag,"visit number",users[etag])
    status = 200
  return flask.Response(body, status=status, headers={'ETag':etag}, content_type='text/css')