provider.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #
  2. # Copyright 2019 The FATE Authors. All Rights Reserved.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. #
  16. import click
  17. from flow_client.flow_cli.utils import cli_args
  18. from flow_client.flow_cli.utils.cli_utils import (preprocess, access_server, check_abs_path)
  19. @click.group(short_help="Component Provider Operations")
  20. @click.pass_context
  21. def provider(ctx):
  22. """
  23. \b
  24. Provides numbers of component operational commands, including metrics, parameters and etc.
  25. For more details, please check out the help text.
  26. """
  27. pass
  28. @provider.command("list", short_help="List All Providers Command")
  29. @click.pass_context
  30. @click.option("-n", "--provider-name", type=click.STRING, help="Provider Name")
  31. def list_providers(ctx, **kwargs):
  32. config_data, dsl_data = preprocess(**kwargs)
  33. if kwargs.get("provider_name"):
  34. access_server("post", ctx, f"provider/{kwargs['provider_name']}/get", config_data)
  35. else:
  36. access_server("post", ctx, "provider/get", config_data)
  37. @provider.command("register", short_help="Register New Provider Command")
  38. @cli_args.CONF_PATH
  39. @click.pass_context
  40. def register(ctx, **kwargs):
  41. config_data, dsl_data = preprocess(**kwargs)
  42. for p in {"path"}:
  43. config_data[p] = check_abs_path(config_data.get(p))
  44. access_server("post", ctx, "provider/register", config_data)
  45. @provider.command("list-components", short_help="List All Components Command")
  46. @click.pass_context
  47. def list_components(ctx, **kwargs):
  48. config_data, dsl_data = preprocess(**kwargs)
  49. access_server("post", ctx, "component/get", config_data)