Pepguy commited on
Commit
c6d4440
·
verified ·
1 Parent(s): 1351e15

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -18
app.py CHANGED
@@ -24,25 +24,41 @@ HTML = """
24
  <pre id="output" style="background:#f4f4f4;padding:1rem;margin-top:1rem;"></pre>
25
 
26
  <script>
27
- const form = document.getElementById('genai-form');
28
- form.addEventListener('submit', async e => {
29
- e.preventDefault();
30
- const prompt = document.getElementById('prompt').value;
31
- const out = document.getElementById('output');
32
- out.textContent = 'Generating…';
33
- try {
34
- const resp = await fetch('/generate', {
35
- method: 'POST',
36
- headers: { 'Content-Type': 'application/json' },
37
- body: JSON.stringify({ prompt }),
38
- });
39
- const data = await resp.json();
 
 
 
 
 
 
 
 
 
 
 
 
40
  out.textContent = data.result;
41
- } catch (err) {
42
- out.textContent = 'Error: ' + err;
43
  }
44
- });
45
- </script>
 
 
 
 
46
  </body>
47
  </html>
48
  """
@@ -73,16 +89,20 @@ def index():
73
 
74
  @app.route('/generate', methods=['POST'])
75
  def gen():
76
- data = request.get_json()
77
  prompt = data.get("prompt", "")
 
78
  if not prompt:
79
  return jsonify({"error": "No prompt provided"}), 400
80
  try:
81
  output = generate_from_gemini(prompt)
 
82
  return jsonify({"result": output})
83
  except Exception as e:
 
84
  return jsonify({"error": str(e)}), 500
85
 
 
86
  if __name__ == "__main__":
87
  port = int(os.environ.get("PORT", 7860))
88
  app.run(host="0.0.0.0", port=port)
 
24
  <pre id="output" style="background:#f4f4f4;padding:1rem;margin-top:1rem;"></pre>
25
 
26
  <script>
27
+ const form = document.getElementById('genai-form');
28
+ form.addEventListener('submit', async e => {
29
+ e.preventDefault();
30
+ const prompt = document.getElementById('prompt').value.trim();
31
+ const out = document.getElementById('output');
32
+ out.textContent = 'Generating…';
33
+
34
+ try {
35
+ const resp = await fetch('/generate', {
36
+ method: 'POST',
37
+ headers: { 'Content-Type': 'application/json' },
38
+ body: JSON.stringify({ prompt }),
39
+ });
40
+
41
+ // if you want to debug status codes:
42
+ if (!resp.ok) {
43
+ const errText = await resp.text();
44
+ throw new Error(`Server returned ${resp.status}: ${errText}`);
45
+ }
46
+
47
+ const data = await resp.json();
48
+ if (data.error) {
49
+ // show the backend error message
50
+ out.textContent = 'Error: ' + data.error;
51
+ } else if (data.result) {
52
  out.textContent = data.result;
53
+ } else {
54
+ out.textContent = 'Unexpected response payload';
55
  }
56
+ } catch (err) {
57
+ console.error(err);
58
+ out.textContent = 'Fetch error: ' + err.message;
59
+ }
60
+ });
61
+ </script>
62
  </body>
63
  </html>
64
  """
 
89
 
90
  @app.route('/generate', methods=['POST'])
91
  def gen():
92
+ data = request.get_json(silent=True) or {}
93
  prompt = data.get("prompt", "")
94
+ app.logger.info(f"Received prompt: {prompt!r}")
95
  if not prompt:
96
  return jsonify({"error": "No prompt provided"}), 400
97
  try:
98
  output = generate_from_gemini(prompt)
99
+ app.logger.info("Generation succeeded, length=%d", len(output))
100
  return jsonify({"result": output})
101
  except Exception as e:
102
+ app.logger.exception("Generation failed")
103
  return jsonify({"error": str(e)}), 500
104
 
105
+
106
  if __name__ == "__main__":
107
  port = int(os.environ.get("PORT", 7860))
108
  app.run(host="0.0.0.0", port=port)