Select Git revision
swagger-to-html.py

Robert Goldmann authored
swagger-to-html.py 1.57 KiB
#!/usr/bin/python
import yaml
import json
import sys
TEMPLATE = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.22.2/swagger-ui.css" >
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after
{
box-sizing: inherit;
}
body {
margin:0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.22.2/swagger-ui-bundle.js"> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.22.2/swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {
var spec = %s;
// Build a system
const ui = SwaggerUIBundle({
spec: spec,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis
]
})
window.ui = ui
}
</script>
</body>
</html>
"""
if len(sys.argv) != 3:
print('Invalid number of args')
print('Usage: swagger-to-html.py source.yml destination.html')
exit()
with open(sys.argv[1], "r") as inputFile:
spec = yaml.load(inputFile, Loader=yaml.FullLoader)
spec = TEMPLATE % json.dumps(spec)
with open(sys.argv[2], "w") as f:
f.write(spec)
print("DONE")