BaseModel.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. class BaseModel:
  2. parser_command = ""
  3. required_args = {}
  4. @classmethod
  5. def has_required_args(cls, args):
  6. """
  7. Validate that all required arguments are present.
  8. """
  9. object_name = args.object if hasattr(args, "object") else args.get("object")
  10. required_lists = cls.required_args.get(object_name, False)
  11. if not required_lists:
  12. return False
  13. for required_set in required_lists:
  14. result = True
  15. for required_args in required_set:
  16. if isinstance(args, dict):
  17. if not args.get(required_args):
  18. result = False
  19. break
  20. elif not hasattr(args, required_args):
  21. result = False
  22. break
  23. if result:
  24. break
  25. if not result:
  26. print(f"Required arguments for '{object_name}': {required_lists}")
  27. return result
  28. @classmethod
  29. def add_parser(cls, subparsers):
  30. pass