ZygmuntL commited on
Commit
d72fe4e
Β·
verified Β·
1 Parent(s): ef234e7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -13
app.py CHANGED
@@ -16,7 +16,7 @@ import io
16
  def geocode_csv(file):
17
  """Geocode cities from CSV file and return results"""
18
  if not file:
19
- return "❌ Upload CSV file", gr.DataFrame(), None
20
 
21
  try:
22
  # Read CSV
@@ -24,7 +24,7 @@ def geocode_csv(file):
24
 
25
  # Check columns
26
  if 'name' not in df.columns:
27
- return "❌ CSV must have 'name' column", gr.DataFrame(), None
28
 
29
  # Get country from filename
30
  filename = file.name.split('/')[-1].replace('.csv', '').title()
@@ -67,15 +67,9 @@ def geocode_csv(file):
67
  df.loc[idx, 'geocoded'] = False
68
  results.append(f"❌ {city_name}: Error")
69
 
70
- # Create CSV file for download
71
  csv_content = df.to_csv(index=False)
72
 
73
- # Create temporary file
74
- import tempfile
75
- temp_file = tempfile.NamedTemporaryFile(mode='w', suffix='.csv', delete=False)
76
- temp_file.write(csv_content)
77
- temp_file.close()
78
-
79
  # Summary
80
  summary = f"""
81
  ## πŸ“Š Results for {filename}
@@ -90,10 +84,10 @@ def geocode_csv(file):
90
  for result in results:
91
  summary += f"{result}\n"
92
 
93
- return summary, df, temp_file.name
94
 
95
  except Exception as e:
96
- return f"❌ Error: {str(e)}", gr.DataFrame(), None
97
 
98
  # Fixed interface
99
  with gr.Blocks(title="Geo Tool") as app:
@@ -107,12 +101,12 @@ with gr.Blocks(title="Geo Tool") as app:
107
  result_output = gr.Markdown(label="Results")
108
  csv_output = gr.DataFrame(label="Geocoded Data", interactive=False)
109
 
110
- download_file = gr.File(label="πŸ“₯ Download CSV")
111
 
112
  search_btn.click(
113
  fn=geocode_csv,
114
  inputs=[file_input],
115
- outputs=[result_output, csv_output, download_file]
116
  )
117
 
118
  if __name__ == "__main__":
 
16
  def geocode_csv(file):
17
  """Geocode cities from CSV file and return results"""
18
  if not file:
19
+ return "❌ Upload CSV file", gr.DataFrame(), ""
20
 
21
  try:
22
  # Read CSV
 
24
 
25
  # Check columns
26
  if 'name' not in df.columns:
27
+ return "❌ CSV must have 'name' column", gr.DataFrame(), ""
28
 
29
  # Get country from filename
30
  filename = file.name.split('/')[-1].replace('.csv', '').title()
 
67
  df.loc[idx, 'geocoded'] = False
68
  results.append(f"❌ {city_name}: Error")
69
 
70
+ # Create CSV content as text
71
  csv_content = df.to_csv(index=False)
72
 
 
 
 
 
 
 
73
  # Summary
74
  summary = f"""
75
  ## πŸ“Š Results for {filename}
 
84
  for result in results:
85
  summary += f"{result}\n"
86
 
87
+ return summary, df, csv_content
88
 
89
  except Exception as e:
90
+ return f"❌ Error: {str(e)}", gr.DataFrame(), ""
91
 
92
  # Fixed interface
93
  with gr.Blocks(title="Geo Tool") as app:
 
101
  result_output = gr.Markdown(label="Results")
102
  csv_output = gr.DataFrame(label="Geocoded Data", interactive=False)
103
 
104
+ csv_text = gr.Textbox(label="πŸ“₯ CSV Data (copy and save as .csv file)", lines=10)
105
 
106
  search_btn.click(
107
  fn=geocode_csv,
108
  inputs=[file_input],
109
+ outputs=[result_output, csv_output, csv_text]
110
  )
111
 
112
  if __name__ == "__main__":