tebicap commited on
Commit
1399ead
1 Parent(s): fc80ae2

versión final, con estilos aplicados

Browse files
Files changed (1) hide show
  1. app.py +39 -13
app.py CHANGED
@@ -1,4 +1,4 @@
1
- import gradio as gr
2
  import requests
3
  import re
4
 
@@ -60,32 +60,54 @@ def cotiza_btc(compra_prima, venta_prima):
60
 
61
  return micotizacion, cotizacionexchanges
62
 
63
- def cotiza_monto(monto, tipo): #tipo es compra o venta
64
 
65
  if tipo == "compra":
66
  global compra
67
  son_satoshis = str(int(monto / compra * 100000000)) + " SATS"
68
  son_pesos = "" #para que no se imprima a la salida
69
  monto_en = "ARS"
 
 
 
 
 
 
 
70
  else:
71
  global venta
72
  son_pesos = str(int(monto * venta / 100000000)) + " ARS"
73
  son_satoshis = "" #para que no se imprima a la salida
74
  monto_en = "SATS"
75
-
76
- #salida = "{}{}".format(son_satoshis, son_pesos)
 
 
 
 
 
 
77
  clases_css = "text-gray-500 text-[0.855rem] mb-2 block dark:text-gray-200 relative z-40 scroll-hide block gr-box gr-input w-full gr-text-input"
 
78
  cotizamonto_out_style = "style='font-size: larger; background-color: #ffa500; color: #461000; text-align: center'"
79
  salida_html = f"<div class='cotizamonto_out {clases_css}' {cotizamonto_out_style}>{monto} {monto_en} -> {son_satoshis}{son_pesos}</div>"
80
  salida = salida_html
81
 
82
- return salida
 
 
 
 
 
 
 
83
 
84
  ## UI
85
 
86
  with gr.Blocks() as cotizabtc:
87
- cotizabtc_inp_1 = gr.Slider(label="Compra prima", minimum=0, maximum=12, value=6, step=1)
88
- cotizabtc_inp_2 = gr.Slider(label="Venta prima", minimum=0, maximum=12, value=6, step=1)
 
89
  cotizabtc_out_1 = gr.Textbox(label="Mi cotización:")
90
  cotizabtc_out_2 = gr.Textbox(label="Cotizaciones exchanges:")
91
 
@@ -93,13 +115,17 @@ with gr.Blocks() as cotizabtc:
93
  cotizabtc_btn.click(fn=cotiza_btc, inputs=[cotizabtc_inp_1, cotizabtc_inp_2], outputs=[cotizabtc_out_1, cotizabtc_out_2])
94
 
95
  #--- cotizamonto:
96
- cotizamonto_inp_1 = gr.Slider(label="Monto (ars/sats):", minimum=100, maximum=900000, value=1000, step=100)
97
  cotizamonto_inp_2 = gr.Radio(["compra", "venta"], label="tipo")
98
- #cotizamonto_out = gr.Textbox(label="Son:", elem_id="cotizamonto_txt")
99
- cotizamonto_out = gr.HTML()
100
-
101
- cotizamonto_btn = gr.Button("cotizar!")
102
- cotizamonto_btn.click(fn=cotiza_monto, inputs=[cotizamonto_inp_1, cotizamonto_inp_2], outputs=[cotizamonto_out])
 
 
 
 
103
 
104
  #---------------
105
 
 
1
+ import gradio as gr #interface gráfica
2
  import requests
3
  import re
4
 
 
60
 
61
  return micotizacion, cotizacionexchanges
62
 
63
+ def cotiza_monto(monto, tipo, compra_prima, venta_prima): #tipo es compra o venta
64
 
65
  if tipo == "compra":
66
  global compra
67
  son_satoshis = str(int(monto / compra * 100000000)) + " SATS"
68
  son_pesos = "" #para que no se imprima a la salida
69
  monto_en = "ARS"
70
+ son_satoshis_noprima = round(int(monto / yadio_BTC_ARS * 100000000)) #cambio sin prima
71
+ ganancia_compraSATS = round((monto / yadio_BTC_ARS * 100000000) -int(son_satoshis[:-5])) #ganancia en satoshis
72
+ ganancia_compraARS = round(ganancia_compraSATS / 100000000 * yadio_BTC_ARS, 0) #ganancia en ARS
73
+ ganancia_compraARS = str(ganancia_compraARS) + " ARS"
74
+ ganancia_ARS = ganancia_compraARS
75
+ detalles = f"Gano en sats: {ganancia_compraSATS} SATS; (+{compra_prima}%). Cambio sin prima: {son_satoshis_noprima} SATS"
76
+
77
  else:
78
  global venta
79
  son_pesos = str(int(monto * venta / 100000000)) + " ARS"
80
  son_satoshis = "" #para que no se imprima a la salida
81
  monto_en = "SATS"
82
+ #son_pesos_noprima = int(monto * venta / 100000000) #cambio sin prima
83
+ son_pesos_noprima = round(monto / 100000000 * yadio_BTC_ARS) #cambio sin prima
84
+ ganancia_venta_ARS = round(son_pesos_noprima - int(son_pesos[:-4]), 0) #ganancia en ARS
85
+ ganancia_ventaSATS = round(monto * venta_prima /100)
86
+ ganancia_ARS = str(ganancia_venta_ARS) + " ARS"
87
+ detalles = f"Gano en sats: {ganancia_ventaSATS} SATS; (+{venta_prima}%). Cambio sin prima: {son_pesos_noprima} ARS"
88
+
89
+ #estilos y html para las salidas:
90
  clases_css = "text-gray-500 text-[0.855rem] mb-2 block dark:text-gray-200 relative z-40 scroll-hide block gr-box gr-input w-full gr-text-input"
91
+
92
  cotizamonto_out_style = "style='font-size: larger; background-color: #ffa500; color: #461000; text-align: center'"
93
  salida_html = f"<div class='cotizamonto_out {clases_css}' {cotizamonto_out_style}>{monto} {monto_en} -> {son_satoshis}{son_pesos}</div>"
94
  salida = salida_html
95
 
96
+ cotizamonto_ganancia_style = "style='font-size: larger; background-color: #c8ff00; color: #334600; text-align: center'"
97
+ ganancia_ARS_HTML = f"<div class='{clases_css}'{cotizamonto_ganancia_style}>gano:<br>{ganancia_ARS}</div>"
98
+ ganancia_ARS = ganancia_ARS_HTML
99
+
100
+ detalles_HTML = f"<div class='{clases_css}'>{detalles}</div>"
101
+ detalles = detalles_HTML
102
+
103
+ return salida, ganancia_ARS, detalles
104
 
105
  ## UI
106
 
107
  with gr.Blocks() as cotizabtc:
108
+ with gr.Row():
109
+ cotizabtc_inp_1 = gr.Slider(label="Compra prima", minimum=0, maximum=12, value=6, step=1)
110
+ cotizabtc_inp_2 = gr.Slider(label="Venta prima", minimum=0, maximum=12, value=6, step=1)
111
  cotizabtc_out_1 = gr.Textbox(label="Mi cotización:")
112
  cotizabtc_out_2 = gr.Textbox(label="Cotizaciones exchanges:")
113
 
 
115
  cotizabtc_btn.click(fn=cotiza_btc, inputs=[cotizabtc_inp_1, cotizabtc_inp_2], outputs=[cotizabtc_out_1, cotizabtc_out_2])
116
 
117
  #--- cotizamonto:
118
+ cotizamonto_inp_1 = gr.Slider(label="Monto (ars/sats):", minimum=500, maximum=100000, value=1000, step=500)
119
  cotizamonto_inp_2 = gr.Radio(["compra", "venta"], label="tipo")
120
+ with gr.Row():
121
+ with gr.Column():
122
+ with gr.Row():
123
+ cotizamonto_out = gr.HTML()
124
+ cotizamonto_ganancia_out = gr.HTML()
125
+ cotizamonto_detalle_out = gr.HTML()
126
+ cotizamonto_btn = gr.Button("cotizar!")
127
+
128
+ cotizamonto_btn.click(fn=cotiza_monto, inputs=[cotizamonto_inp_1, cotizamonto_inp_2, cotizabtc_inp_1, cotizabtc_inp_2], outputs=[cotizamonto_out, cotizamonto_ganancia_out, cotizamonto_detalle_out])
129
 
130
  #---------------
131