#!/usr/bin/env python3
import json, os
from http.server import HTTPServer, SimpleHTTPRequestHandler
from datetime import datetime
DATA = os.path.expanduser("~/nyc-suggestions.json")
def load():
    try:
        with open(DATA) as f: return json.load(f)
    except: return []
def save(d):
    with open(DATA,"w") as f: json.dump(d,f,indent=2)
class H(SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path=="/suggestions":
            self.send_response(200);self.send_header("Content-Type","application/json");self.send_header("Access-Control-Allow-Origin","*");self.end_headers();self.wfile.write(json.dumps(load()).encode())
        else: super().do_GET()
    def do_POST(self):
        if self.path=="/suggestions":
            body=json.loads(self.rfile.read(int(self.headers.get("Content-Length",0))));t=body.get("text","").strip();n=body.get("name","").strip() or "Someone"
            if t:
                s=load();s.append({"text":t,"name":n,"time":datetime.now().strftime("%b %-d, %-I:%M %p")});save(s)
            self.send_response(200);self.send_header("Content-Type","application/json");self.send_header("Access-Control-Allow-Origin","*");self.end_headers();self.wfile.write(b'{"ok":true}')
        else: self.send_response(404);self.end_headers()
    def do_OPTIONS(self):
        self.send_response(200);self.send_header("Access-Control-Allow-Origin","*");self.send_header("Access-Control-Allow-Methods","GET,POST,OPTIONS");self.send_header("Access-Control-Allow-Headers","Content-Type");self.end_headers()
    def log_message(self,*a): pass
os.chdir(os.path.expanduser("~"));print("NYC server on :8099");HTTPServer(("0.0.0.0",8099),H).serve_forever()
