File size: 2,054 Bytes
171689f 98483eb 171689f b7e8935 98483eb 0f7c526 b7e8935 98483eb b7e8935 171689f 98483eb b7e8935 2d1bed7 171689f fb490b2 0f7c526 b7e8935 0f7c526 b7e8935 98483eb fb490b2 7742e91 4147187 c78d2b1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import gradio as gr
import json
# Function to minify JSON
def minify_json(input_text, uploaded_file):
try:
if uploaded_file is not None:
input_text = uploaded_file["data"].decode("utf-8")
json_content = json.loads(input_text)
minified_json = json.dumps(json_content, separators=(',', ':'))
return minified_json
except json.JSONDecodeError:
return "Invalid JSON input. Please provide a valid JSON."
minify = gr.Interface(
minify_json,
[gr.Textbox(label="Input JSON Text"), gr.File(label="Upload JSON File")],
"text"
)
# Function to minify JSON with each key on a new line
def minify_json_to_row(input_text, uploaded_file):
try:
if uploaded_file is not None:
input_text = uploaded_file["data"].decode("utf-8")
json_content = json.loads(input_text)
minified_json = json.dumps(json_content, indent=1).replace('\n ', '\n').lstrip()
return minified_json
except json.JSONDecodeError:
return "Invalid JSON input. Please provide a valid JSON."
minify_to_row = gr.Interface(
minify_json_to_row,
[gr.Textbox(label="Input JSON Text"), gr.File(label="Upload JSON File")],
"text"
)
# Function for the Should we translate? interface
def check_input(input_text, uploaded_file):
if uploaded_file is not None:
input_text = uploaded_file["data"].decode("utf-8")
if not input_text.strip():
return "No words in the input."
words = input_text.split()
response = [f"'{word}' is a valid word." if word.isalpha() and ' ' not in word else f"'{word}' is not a valid word." for word in words]
return " ".join(response)
should_we_translate = gr.Interface(
check_input,
[gr.Textbox(label="Input Text"), gr.File(label="Upload File")],
"text"
)
# Creating a Tabbed Interface with all functionalities
demo = gr.TabbedInterface([minify, should_we_translate, minify_to_row], ["Minify JSON", "Should we translate?", "Minify to row"])
if __name__ == "__main__":
demo.launch()
|