tx3bas commited on
Commit
60e5756
verified
1 Parent(s): ea51efd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -7
app.py CHANGED
@@ -41,30 +41,37 @@ def calcular_porcentajes_similaridad(serp_results, min_length):
41
  urls_serp1 = [entry["URL"] for entry in serp_results[combo[0]][:min_length]]
42
  urls_serp2 = [entry["URL"] for entry in serp_results[combo[1]][:min_length]]
43
 
44
- # Calculando la intersecci贸n y la uni贸n para el porcentaje base
45
  set_urls_serp1 = set(urls_serp1)
46
  set_urls_serp2 = set(urls_serp2)
47
  intersection = len(set_urls_serp1 & set_urls_serp2)
48
  union = len(set_urls_serp1 | set_urls_serp2)
49
  porcentaje_base = (intersection / union) * 100 if union > 0 else 0
50
 
51
- # Inicializar la bonificaci贸n
52
  bonificacion = 0
53
-
54
- # Verificar si los dos primeros resultados coinciden (20% de bonificaci贸n)
55
  if urls_serp1[:2] == urls_serp2[:2]:
56
  bonificacion += 20
57
-
58
- # Verificar si alguno de los tres primeros resultados est谩 repetido (15% de bonificaci贸n)
59
  if any(url in urls_serp2[:3] for url in urls_serp1[:3]):
60
  bonificacion += 15
61
 
62
- # Calcular el porcentaje final asegurando que no exceda el 100%
63
  porcentaje_final = min(100, porcentaje_base + bonificacion)
 
 
64
 
65
  porcentajes[combo] = porcentaje_final
66
  return porcentajes
67
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
  def generar_html_con_colores(serp_results, urls_comunes, min_length):
70
  url_color_map = {url: color_palette[i % len(color_palette)] for i, url in enumerate(urls_comunes)}
@@ -111,6 +118,14 @@ def analyze_keywords(keywords):
111
 
112
  return html_table, similaridad_html
113
 
 
 
 
 
 
 
 
 
114
  iface = gr.Interface(
115
  fn=analyze_keywords,
116
  inputs="text",
 
41
  urls_serp1 = [entry["URL"] for entry in serp_results[combo[0]][:min_length]]
42
  urls_serp2 = [entry["URL"] for entry in serp_results[combo[1]][:min_length]]
43
 
 
44
  set_urls_serp1 = set(urls_serp1)
45
  set_urls_serp2 = set(urls_serp2)
46
  intersection = len(set_urls_serp1 & set_urls_serp2)
47
  union = len(set_urls_serp1 | set_urls_serp2)
48
  porcentaje_base = (intersection / union) * 100 if union > 0 else 0
49
 
 
50
  bonificacion = 0
 
 
51
  if urls_serp1[:2] == urls_serp2[:2]:
52
  bonificacion += 20
 
 
53
  if any(url in urls_serp2[:3] for url in urls_serp1[:3]):
54
  bonificacion += 15
55
 
 
56
  porcentaje_final = min(100, porcentaje_base + bonificacion)
57
+ # Redondear al m煤ltiplo de 10 m谩s cercano
58
+ porcentaje_final = round(porcentaje_final / 10) * 10
59
 
60
  porcentajes[combo] = porcentaje_final
61
  return porcentajes
62
 
63
+ def obtener_color_porcentaje(porcentaje):
64
+ if porcentaje >= 80:
65
+ return 'red'
66
+ elif porcentaje >= 60:
67
+ return '#FFA07A' # Rojo anaranjado
68
+ elif porcentaje >= 40:
69
+ return '#F0E68C' # Amarillo anaranjado
70
+ elif porcentaje >= 20:
71
+ return '#98FB98' # Verdoso
72
+ else:
73
+ return 'green'
74
+
75
 
76
  def generar_html_con_colores(serp_results, urls_comunes, min_length):
77
  url_color_map = {url: color_palette[i % len(color_palette)] for i, url in enumerate(urls_comunes)}
 
118
 
119
  return html_table, similaridad_html
120
 
121
+ def generar_html_similaridad(porcentajes_similaridad):
122
+ similaridad_html = "<div><strong>Porcentajes de Similaridad:</strong><br>"
123
+ for combo, porcentaje in porcentajes_similaridad.items():
124
+ color = obtener_color_porcentaje(porcentaje)
125
+ similaridad_html += f"{combo[0]} & {combo[1]}: <span style='color:{color};'>{porcentaje}%</span><br>"
126
+ similaridad_html += "</div>"
127
+ return similaridad_html
128
+
129
  iface = gr.Interface(
130
  fn=analyze_keywords,
131
  inputs="text",