Spaces:
Sleeping
Sleeping
| import codecs | |
| import os | |
| import gradio as gr | |
| import pandas as pd | |
| def preview_file(file): | |
| if file is None: | |
| return gr.update(visible=False), gr.update(visible=False) | |
| path = file.name | |
| ext = os.path.splitext(path)[1].lower() | |
| try: | |
| if ext == ".csv": | |
| df = pd.read_csv(path, nrows=10) | |
| return gr.update(visible=False), gr.update(value=df, visible=True) | |
| with codecs.open(path, "r", encoding="utf-8") as f: | |
| text = f.read(5000) | |
| if len(text) == 5000: | |
| text += "\n\n... (truncated at 5000 chars)" | |
| return gr.update( | |
| value=text, visible=True, language="json" if ext != ".txt" else None | |
| ), gr.update(visible=False) | |
| except Exception as e: # pylint: disable=broad-except | |
| return gr.update( | |
| value=f"Preview failed: {e}", visible=True, language=None | |
| ), gr.update(visible=False) | |