copy_users.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/env python3
  2. import sys
  3. import json
  4. from argparse import ArgumentParser
  5. from sparker import Sparker, ResourceType
  6. def main():
  7. parser = ArgumentParser(description='Usage: ')
  8. parser.add_argument('-S', '--source-team', type=str,
  9. help='Name of the source Team of the Room')
  10. parser.add_argument('-s', '--source-room', type=str,
  11. help='Name of the source Room')
  12. parser.add_argument('-D', '--dest-team', type=str,
  13. help='Name of the destination Team of the Room')
  14. parser.add_argument('-d', '--dest-room', type=str,
  15. help='Name of the destination Room')
  16. parser.add_argument('-t', '--token', type=str,
  17. help='Webex Teams Token', required=True)
  18. args = parser.parse_args()
  19. spark = Sparker(token=args.token)
  20. resource = None
  21. if args.source_team:
  22. resource = args.source_team
  23. type = ResourceType.TEAM
  24. elif args.source_room:
  25. resource = args.source_room
  26. type = ResourceType.ROOM
  27. else:
  28. print('ERROR: Either a source Room or source Team must be specified')
  29. sys.exit(1)
  30. members = spark.get_members(resource, type)
  31. if not members:
  32. print('ERROR: Failed to get members')
  33. sys.exit(1)
  34. if args.dest_team:
  35. resource = args.dest_team
  36. type = ResourceType.TEAM
  37. elif args.dest_room:
  38. resource = args.dest_room
  39. type = ResourceType.ROOM
  40. else:
  41. print('ERROR: Either a destination Room or destination Team must be specified')
  42. sys.exit(1)
  43. if not spark.add_members(members, resource, type):
  44. print('ERROR: Failed to add one or more members')
  45. sys.exit(1)
  46. if __name__ == '__main__':
  47. main()