tx3bas commited on
Commit
92e809c
·
verified ·
1 Parent(s): 4a1f433

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -2
app.py CHANGED
@@ -103,6 +103,51 @@ def verificar_api_youtube(api_key):
103
  except Exception:
104
  return False # API inválida
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  # Función general para verificar una lista de API keys
107
  def verificar_apis(api_keys_text, api_type):
108
  api_keys = api_keys_text.strip().split("\n")
@@ -124,6 +169,10 @@ def verificar_apis(api_keys_text, api_type):
124
  es_valida = verificar_api_openrouter(api_key)
125
  elif api_type == "YouTube":
126
  es_valida = verificar_api_youtube(api_key)
 
 
 
 
127
  else:
128
  continue
129
 
@@ -142,10 +191,10 @@ iface = gr.Interface(
142
  fn=verificar_apis,
143
  inputs=[
144
  gr.Textbox(label="API Keys (una por línea)", lines=10, placeholder="Introduce cada API key en una línea diferente..."),
145
- gr.Radio(["Groq", "OpenAI", "Google Gemini", "OpenRouter", "YouTube"], label="Tipo de API")
146
  ],
147
  outputs="text",
148
- title="Verificación de Múltiples APIs (Groq, OpenAI, Google Gemini, OpenRouter, YouTube)",
149
  description="Ingresa una lista de API keys (una por línea) y selecciona el tipo de API para verificar cuáles están disponibles."
150
  )
151
 
 
103
  except Exception:
104
  return False # API inválida
105
 
106
+ # Función para verificar la API de Pexels
107
+ def verificar_api_pexels(api_key):
108
+ try:
109
+ url = "https://api.pexels.com/v1/search"
110
+ headers = {
111
+ "Authorization": api_key
112
+ }
113
+ params = {
114
+ "query": "nature",
115
+ "per_page": 1
116
+ }
117
+
118
+ response = requests.get(url, headers=headers, params=params)
119
+
120
+ # Si la respuesta es exitosa, la API es válida
121
+ if response.status_code == 200:
122
+ data = response.json()
123
+ return "photos" in data and len(data["photos"]) > 0
124
+ else:
125
+ return False # API inválida
126
+ except Exception:
127
+ return False # API inválida
128
+
129
+ # Función para verificar la API de Google Places
130
+ def verificar_api_google_places(api_key):
131
+ try:
132
+ url = "https://maps.googleapis.com/maps/api/place/textsearch/json"
133
+ params = {
134
+ "query": "restaurants",
135
+ "location": "0,0",
136
+ "radius": 1000,
137
+ "key": api_key
138
+ }
139
+
140
+ response = requests.get(url, params=params)
141
+
142
+ # Si la respuesta es exitosa, la API es válida
143
+ if response.status_code == 200:
144
+ data = response.json()
145
+ return "results" in data and len(data["results"]) > 0
146
+ else:
147
+ return False # API inválida
148
+ except Exception:
149
+ return False # API inválida
150
+
151
  # Función general para verificar una lista de API keys
152
  def verificar_apis(api_keys_text, api_type):
153
  api_keys = api_keys_text.strip().split("\n")
 
169
  es_valida = verificar_api_openrouter(api_key)
170
  elif api_type == "YouTube":
171
  es_valida = verificar_api_youtube(api_key)
172
+ elif api_type == "Pexels":
173
+ es_valida = verificar_api_pexels(api_key)
174
+ elif api_type == "Google Places":
175
+ es_valida = verificar_api_google_places(api_key)
176
  else:
177
  continue
178
 
 
191
  fn=verificar_apis,
192
  inputs=[
193
  gr.Textbox(label="API Keys (una por línea)", lines=10, placeholder="Introduce cada API key en una línea diferente..."),
194
+ gr.Radio(["Groq", "OpenAI", "Google Gemini", "OpenRouter", "YouTube", "Pexels", "Google Places"], label="Tipo de API")
195
  ],
196
  outputs="text",
197
+ title="Verificación de Múltiples APIs (Groq, OpenAI, Google Gemini, OpenRouter, YouTube, Pexels, Google Places)",
198
  description="Ingresa una lista de API keys (una por línea) y selecciona el tipo de API para verificar cuáles están disponibles."
199
  )
200