27 lines
726 B
Python
Executable File
27 lines
726 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# gen-doc.py - Generate a Swagger JSON document for the API
|
|
# Part of the Parallel Virtual Cluster (PVC) system
|
|
|
|
from flask_swagger import swagger
|
|
import os
|
|
import sys
|
|
import json
|
|
|
|
os.environ['PVC_CONFIG_FILE'] = "./pvc.sample.conf"
|
|
|
|
sys.path.append('api-daemon')
|
|
|
|
import pvcapid.flaskapi as pvc_api
|
|
|
|
swagger_file = "swagger.json"
|
|
swagger_data = swagger(pvc_api.app)
|
|
swagger_data['info']['version'] = "1.0"
|
|
swagger_data['info']['title'] = "PVC Client and Provisioner API"
|
|
swagger_data['host'] = "pvc.local:7370"
|
|
|
|
with open(swagger_file, 'w') as fd:
|
|
fd.write(json.dumps(swagger_data, sort_keys=True, indent=4))
|
|
|
|
print(f"Swagger file output to {swagger_file}; add it to the PVC documentation repo.")
|