tx3bas commited on
Commit
6b54bba
verified
1 Parent(s): 9eb4dad

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -12
app.py CHANGED
@@ -1,18 +1,12 @@
1
  import os
2
  import requests
3
- from flask import Flask, request, jsonify
4
-
5
- app = Flask(__name__)
6
 
7
  # Recuperar la clave API desde las variables de entorno
8
  API_KEY = os.getenv('API_KEY')
9
 
10
- @app.route('/api/search', methods=['GET'])
11
- def search():
12
- query = request.args.get('q', '')
13
- if not query:
14
- return jsonify({"error": "No query provided"}), 400
15
-
16
  url = f'https://us-east-1.serp.ing/api/v1/google/serp?q={query}&hl=en&gl=us&num=10&snapshot=off&thumbnail=on'
17
  headers = {
18
  'X-API-KEY': API_KEY,
@@ -22,9 +16,34 @@ def search():
22
  response = requests.get(url, headers=headers)
23
 
24
  if response.status_code == 200:
25
- return jsonify(response.json())
26
  else:
27
- return jsonify({"error": f"Failed to fetch data. Status code: {response.status_code}"}), response.status_code
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  if __name__ == "__main__":
30
- app.run(host='0.0.0.0', port=7860)
 
 
1
  import os
2
  import requests
3
+ import gradio as gr
4
+ from flask import Flask
 
5
 
6
  # Recuperar la clave API desde las variables de entorno
7
  API_KEY = os.getenv('API_KEY')
8
 
9
+ def make_request(query):
 
 
 
 
 
10
  url = f'https://us-east-1.serp.ing/api/v1/google/serp?q={query}&hl=en&gl=us&num=10&snapshot=off&thumbnail=on'
11
  headers = {
12
  'X-API-KEY': API_KEY,
 
16
  response = requests.get(url, headers=headers)
17
 
18
  if response.status_code == 200:
19
+ return response.json()
20
  else:
21
+ return {"error": f"Failed to fetch data. Status code: {response.status_code}"}
22
+
23
+ # Interfaz de Gradio
24
+ def query_interface(query):
25
+ result = make_request(query)
26
+ return result
27
+
28
+ # Crear la interfaz de Gradio
29
+ iface = gr.Interface(
30
+ fn=query_interface,
31
+ inputs=gr.Textbox(label="Search Query"),
32
+ outputs="json",
33
+ title="API Query Interface",
34
+ description="Enter a search query to fetch data from the API."
35
+ )
36
+
37
+ # Integraci贸n con Flask para permitir el acceso desde un HTML externo
38
+ app = Flask(__name__)
39
+
40
+ @app.route('/api/search', methods=['GET'])
41
+ def api_search():
42
+ query = request.args.get('query')
43
+ if not query:
44
+ return {"error": "No query provided"}, 400
45
+ return query_interface(query)
46
 
47
  if __name__ == "__main__":
48
+ iface.launch(server_name="0.0.0.0", server_port=7860, debug=True, inline=False)
49
+ app.run(host="0.0.0.0", port=7861)