Fix schema generation
It seems this schema generation tool was not updated with the big server/client seperation. Address that.
This commit is contained in:
parent
b916c96b0a
commit
906d081273
|
@ -16,17 +16,21 @@
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import jsonschema
|
import jsonschema
|
||||||
|
|
||||||
from subiquity.cmd.tui import parse_options
|
from subiquity.cmd.tui import make_client_args_parser
|
||||||
from subiquity.core import Subiquity
|
from subiquity.cmd.server import make_server_args_parser
|
||||||
|
from subiquity.client.client import SubiquityClient
|
||||||
|
from subiquity.server.server import SubiquityServer
|
||||||
|
|
||||||
|
|
||||||
def make_schema(app):
|
def make_schema(server, client):
|
||||||
schema = copy.deepcopy(app.base_schema)
|
schema = copy.deepcopy(server.base_schema)
|
||||||
for controller in app.controllers.instances:
|
instances = server.controllers.instances + client.controllers.instances
|
||||||
|
for controller in instances:
|
||||||
ckey = getattr(controller, 'autoinstall_key', None)
|
ckey = getattr(controller, 'autoinstall_key', None)
|
||||||
if ckey is None:
|
if ckey is None:
|
||||||
continue
|
continue
|
||||||
|
@ -37,15 +41,35 @@ def make_schema(app):
|
||||||
return schema
|
return schema
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def make(server):
|
||||||
opts = parse_options([])
|
if server:
|
||||||
|
parser = make_server_args_parser()
|
||||||
|
else:
|
||||||
|
parser = make_client_args_parser()
|
||||||
|
args = []
|
||||||
|
opts, unknown = parser.parse_known_args(args)
|
||||||
opts.dry_run = True
|
opts.dry_run = True
|
||||||
app = Subiquity(opts, None)
|
if server:
|
||||||
app.base_model = app.make_model()
|
result = SubiquityServer(opts, '')
|
||||||
app.controllers.load_all()
|
else:
|
||||||
schema = make_schema(app)
|
result = SubiquityClient(opts)
|
||||||
|
result.base_model = result.make_model()
|
||||||
|
result.controllers.load_all()
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def make_client():
|
||||||
|
return make(False)
|
||||||
|
|
||||||
|
|
||||||
|
def make_server():
|
||||||
|
return make(True)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
schema = make_schema(make_server(), make_client())
|
||||||
jsonschema.validate({"version": 1}, schema)
|
jsonschema.validate({"version": 1}, schema)
|
||||||
print(json.dumps(make_schema(app), indent=4))
|
print(json.dumps(schema, indent=4))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue