File size: 1,137 Bytes
258a502 3af81f3 5034a48 258a502 3af81f3 5034a48 3af81f3 258a502 3af81f3 258a502 3af81f3 258a502 3af81f3 |
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 |
import json
import gradio as gr
import tempfile
import os
def update_swagger(swagger_content):
try:
# Load existing swagger.json content
swagger_data = json.loads(swagger_content)
# Update the info object
swagger_data['info'] = {
"title": "My API",
"version": "1.0.0",
"description": "Your API description"
}
# Convert back to JSON string
updated_swagger = json.dumps(swagger_data, indent=2)
# Save to a named temporary file for download
temp_file_path = os.path.join(tempfile.gettempdir(), "updatedswagger.json")
with open(temp_file_path, "w", encoding="utf-8") as temp_file:
temp_file.write(updated_swagger)
return updated_swagger, temp_file_path
except Exception as e:
return f"Error updating swagger.json: {e}", None
demo = gr.Interface(
fn=update_swagger,
inputs=gr.Textbox(lines=20, label="Input Swagger JSON"),
outputs=[gr.Textbox(lines=20, label="Updated Swagger JSON"), gr.File(label="Download Updated JSON")]
)
demo.launch() |