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()