idf_ext.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. def action_extensions(base_actions, project_path=None):
  2. def echo(name, *args, **kwargs):
  3. print(name, args, kwargs)
  4. # Add global options
  5. extensions = {
  6. "global_options": [
  7. {
  8. "names": ["--test-0"],
  9. "help": "Non-deprecated option.",
  10. "deprecated": False
  11. },
  12. {
  13. "names": ["--test-1"],
  14. "help": "Deprecated option 1.",
  15. "deprecated": True
  16. },
  17. {
  18. "names": ["--test-2"],
  19. "help": "Deprecated option 2.",
  20. "deprecated": "Please update your parameters."
  21. },
  22. {
  23. "names": ["--test-3"],
  24. "help": "Deprecated option 3.",
  25. "deprecated": {
  26. "custom_message": "Please update your parameters."
  27. }
  28. },
  29. {
  30. "names": ["--test-4"],
  31. "help": "Deprecated option 3.",
  32. "deprecated": {
  33. "since": "v4.0",
  34. "removed": "v5.0"
  35. }
  36. },
  37. ],
  38. "actions": {
  39. "test-0": {
  40. "callback":
  41. echo,
  42. "help":
  43. "Non-deprecated command 0",
  44. "options": [
  45. {
  46. "names": ["--test-sub-0"],
  47. "help": "Non-deprecated subcommand option 0",
  48. "default": None,
  49. },
  50. {
  51. "names": ["--test-sub-1"],
  52. "help": "Deprecated subcommand option 1",
  53. "default": None,
  54. "deprecated": True
  55. },
  56. ],
  57. "arguments": [{
  58. "names": ["test-arg-0"],
  59. }],
  60. },
  61. "test-1": {
  62. "callback": echo,
  63. "help": "Deprecated command 1",
  64. "deprecated": "Please use alternative command."
  65. },
  66. },
  67. }
  68. return extensions