LuisBlanche commited on
Commit
c0a9bb9
1 Parent(s): a55b70c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -11
app.py CHANGED
@@ -272,6 +272,8 @@ class PDFPoster:
272
 
273
 
274
 
 
 
275
  css = """
276
  #col-container {
277
  margin: 0 auto;
@@ -282,19 +284,20 @@ css = """
282
  def fetch_votes(deputy_name):
283
  pdfposter = PDFPoster(deputy_name)
284
  votes = pdfposter.retrieve_deputy_data()
285
- vote_list = votes['vote_topic'].tolist()
286
- return gr.update(choices=vote_list)
 
287
 
288
- def generate_poster(deputy_name, message_1, message_2, vote_list):
289
  # Set default messages if not provided
290
  if not message_1:
291
  message_1 = "Les votes de vos députés sont souvent différents de ce que les responsables de partis annoncent dans les médias. Les données de votes sont ouvertes!"
292
  if not message_2:
293
- message_2 = "Les 30 juin, et 7 juillet, renseignez vous, et votez en connaissance de cause !"
294
 
295
  pdfposter = PDFPoster(deputy_name)
296
  pdfposter.retrieve_deputy_data()
297
- pdf_filename = pdfposter.generate_poster(vote_list, message_1, message_2)
298
 
299
  # Move the PDF to a known location
300
  static_dir = './static/'
@@ -303,7 +306,7 @@ def generate_poster(deputy_name, message_1, message_2, vote_list):
303
  os.rename(pdf_filename, static_pdf_path)
304
 
305
  # Create the iframe HTML to display the PDF
306
- iframe_html = f'<iframe src="/file={static_pdf_path}" width="100%" height="600px"></iframe>'
307
  return gr.HTML(iframe_html)
308
 
309
  with gr.Blocks(css=css) as demo:
@@ -321,9 +324,9 @@ with gr.Blocks(css=css) as demo:
321
  placeholder="Nom du député, si tu ne le connais pas RDV sur www.datan.fr ou www.nosdeputes.fr",
322
  container=False,
323
  )
324
- fetch_button = gr.Button("Récupère ses votes importants", scale=0)
325
 
326
- vote_list = gr.CheckboxGroup(label="Choisis les votes que tu souhaites afficher", choices=[])
327
 
328
  with gr.Row():
329
  message_1 = gr.Text(
@@ -335,13 +338,12 @@ with gr.Blocks(css=css) as demo:
335
  message_2 = gr.Text(
336
  label="message_2",
337
  max_lines=1,
338
- placeholder="Les 30 juin, et 7 juillet, renseignez vous, et votez en connaissance de cause !",
339
  visible=True,
340
  )
341
 
342
  generate_button = gr.Button("Generate Poster", scale=0)
343
- result = gr.File(label="Result")
344
-
345
 
346
  fetch_button.click(
347
  fn=fetch_votes,
 
272
 
273
 
274
 
275
+
276
+
277
  css = """
278
  #col-container {
279
  margin: 0 auto;
 
284
  def fetch_votes(deputy_name):
285
  pdfposter = PDFPoster(deputy_name)
286
  votes = pdfposter.retrieve_deputy_data()
287
+ vote_list = votes['vote_id'].tolist()
288
+ vote_choices = [(vote_id, votes.loc[votes['vote_id'] == vote_id, 'vote_topic'].values[0]) for vote_id in vote_list]
289
+ return gr.update(choices=vote_choices)
290
 
291
+ def generate_poster(deputy_name, message_1, message_2, vote_id_list):
292
  # Set default messages if not provided
293
  if not message_1:
294
  message_1 = "Les votes de vos députés sont souvent différents de ce que les responsables de partis annoncent dans les médias. Les données de votes sont ouvertes!"
295
  if not message_2:
296
+ message_2 = "Les 30 juin, et 7 juin, renseignez vous, et votez en connaissance de cause !"
297
 
298
  pdfposter = PDFPoster(deputy_name)
299
  pdfposter.retrieve_deputy_data()
300
+ pdf_filename = pdfposter.generate_poster(vote_id_list, message_1, message_2)
301
 
302
  # Move the PDF to a known location
303
  static_dir = './static/'
 
306
  os.rename(pdf_filename, static_pdf_path)
307
 
308
  # Create the iframe HTML to display the PDF
309
+ iframe_html = f'<iframe src="file/{static_pdf_path}" width="100%" height="800px"></iframe>'
310
  return gr.HTML(iframe_html)
311
 
312
  with gr.Blocks(css=css) as demo:
 
324
  placeholder="Nom du député, si tu ne le connais pas RDV sur www.datan.fr ou www.nosdeputes.fr",
325
  container=False,
326
  )
327
+ fetch_button = gr.Button("Fetch Votes", scale=0)
328
 
329
+ vote_list = gr.CheckboxGroup(label="Select Votes", choices=[])
330
 
331
  with gr.Row():
332
  message_1 = gr.Text(
 
338
  message_2 = gr.Text(
339
  label="message_2",
340
  max_lines=1,
341
+ placeholder="Les 30 juin, et 7 juin, renseignez vous, et votez en connaissance de cause !",
342
  visible=True,
343
  )
344
 
345
  generate_button = gr.Button("Generate Poster", scale=0)
346
+ result = gr.HTML()
 
347
 
348
  fetch_button.click(
349
  fn=fetch_votes,