Coverage for src/probable_fiesta/command/builder/command_builder.py: 47%

75 statements  

« prev     ^ index     » next       coverage.py v7.1.0, created at 2023-01-30 18:57 -0500

1"""CommandBuilder class.""" 

2 

3from .command_queue import CommandQueue 

4 

5class CommandBuilder: 

6 

7 def __init__(self, command_queue=None): 

8 if command_queue is not None: 

9 self.command_queue = command_queue 

10 else: 

11 self.command_queue = CommandQueue() 

12 

13 def __str__(self): 

14 return f"CommandBuilder: {self.__dict__}" 

15 

16 @property 

17 def queue(self): 

18 return CommandBuilderQueue(self.command_queue) 

19 

20 def build(self): 

21 return self.command_queue 

22 

23class CommandBuilderQueue(CommandBuilder): 

24 

25 def __init__(self, command_queue): 

26 super().__init__(command_queue) 

27 

28 def add_new_command(self, name, function, args=None): 

29 self.command_queue.add_new_command(name, function, args) 

30 return self 

31 

32 def add_command(self, command): 

33 self.command_queue.add_command(command) 

34 return self 

35 

36 def add_commands(self, commands): 

37 self.command_queue.add_commands(commands) 

38 return self 

39 

40 def add_command_queue(self, command_queue): 

41 self.command_queue.add_command_queue(command_queue) 

42 return self 

43 

44 def add_command_queues(self, command_queues): 

45 self.command_queue.add_command_queues(command_queues) 

46 return self 

47 

48 def add_command_builder(self, command_builder): 

49 self.command_queue.add_command_queue(command_builder.build()) 

50 return self 

51 

52 def add_command_builders(self, command_builders): 

53 for command_builder in command_builders: 

54 self.add_command_builder(command_builder) 

55 return self 

56 

57 def add_command_list(self, command_list): 

58 self.command_queue.add_command_list(command_list) 

59 return self 

60 

61 def add_command_lists(self, command_lists): 

62 self.command_queue.add_command_lists(command_lists) 

63 return self 

64 

65 def add_command_list_builder(self, command_list_builder): 

66 self.command_queue.add_command_list(command_list_builder.build()) 

67 return self 

68 

69 def add_command_list_builders(self, command_list_builders): 

70 for command_list_builder in command_list_builders: 

71 self.add_command_list_builder(command_list_builder) 

72 return self 

73 

74 def add_command_queue_factory(self, command_queue_factory): 

75 self.command_queue.add_command_queue(command_queue_factory.build()) 

76 return self 

77 

78 def add_command_queue_factories(self, command_queue_factories): 

79 for command_queue_factory in command_queue_factories: 

80 self.add_command_queue_factory(command_queue_factory) 

81 return self 

82 

83 def add_command_list_factory(self, command_list_factory): 

84 self.command_queue.add_command_list(command_list_factory.build()) 

85 return self 

86 

87 def add_command_list_factories(self, command_list_factories): 

88 for command_list_factory in command_list_factories: 

89 self.add_command_list_factory(command_list_factory) 

90 return self 

91 

92 def add_command_factory(self, command_factory): 

93 self.command_queue.add_command(command_factory.build()) 

94 return self 

95 

96 def add_command_factories(self, command_factories): 

97 for command_factory in command_factories: 

98 self.add_command_factory(command_factory) 

99 return self 

100 

101 def add_command_builder_factory(self, command_builder_factory): 

102 self.command_queue.add_command_queue(command_builder_factory.build()) 

103 return self