Lukeetah commited on
Commit
27526d0
1 Parent(s): ef306b3

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +58 -5
app.py CHANGED
@@ -1,7 +1,60 @@
1
- import gradio as gr
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import pandas as pd
3
+ from flask import Flask, request
4
 
5
+ # Ruta del archivo de candidatos
6
+ ruta_candidatos = os.path.join(os.path.dirname(__file__), "Candidatos.txt")
7
 
8
+ # Leer los candidatos desde el archivo
9
+ candidatos = {}
10
+ with open(ruta_candidatos, "r") as f:
11
+ for line in f:
12
+ if line.strip():
13
+ candidato, partido = line.split(":")
14
+ candidatos[candidato.strip()] = partido.strip()
15
+
16
+ # Crear base de datos de votos
17
+ votos = pd.DataFrame(columns=["IP", "Candidato", "Votos", "Nombre"])
18
+
19
+ # Crear la aplicación Flask
20
+ app = Flask(__name__)
21
+
22
+ # Ruta para la interfaz de votación
23
+ @app.route("/")
24
+ def votacion():
25
+ ip = request.remote_addr
26
+ if ip in votos["IP"].values:
27
+ return "Ya has votado."
28
+ else:
29
+ return f'''
30
+ <h1>Elecciones Presidenciales 2023</h1>
31
+ <h2>Candidatos:</h2>
32
+ <ul>
33
+ {''.join(f"<li>{candidato} - {partido}</li>" for candidato, partido in candidatos.items())}
34
+ </ul>
35
+ <form action="/votar" method="post">
36
+ <label for="candidato">Elige tu candidato:</label>
37
+ <select name="candidato" id="candidato">
38
+ {''.join(f"<option value='{candidato}'>{candidato}</option>" for candidato in candidatos.keys())}
39
+ </select>
40
+ <br>
41
+ <label for="nombre">Tu nombre:</label>
42
+ <input type="text" name="nombre" id="nombre">
43
+ <br>
44
+ <input type="submit" value="Votar">
45
+ </form>
46
+ '''
47
+
48
+ # Ruta para procesar los votos
49
+ @app.route("/votar", methods=["POST"])
50
+ def procesar_voto():
51
+ ip = request.remote_addr
52
+ candidato = request.form.get("candidato")
53
+ nombre = request.form.get("nombre")
54
+ datos_voto = {"IP": ip, "Candidato": candidato, "Votos": 1, "Nombre": nombre}
55
+ votos = votos.append(datos_voto, ignore_index=True)
56
+ return "Gracias por tu voto."
57
+
58
+ # Ejecutar la aplicación Flask
59
+ if __name__ == "__main__":
60
+ app.run()