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
« prev ^ index » next coverage.py v7.1.0, created at 2023-01-30 18:57 -0500
1"""CommandBuilder class."""
3from .command_queue import CommandQueue
5class CommandBuilder:
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()
13 def __str__(self):
14 return f"CommandBuilder: {self.__dict__}"
16 @property
17 def queue(self):
18 return CommandBuilderQueue(self.command_queue)
20 def build(self):
21 return self.command_queue
23class CommandBuilderQueue(CommandBuilder):
25 def __init__(self, command_queue):
26 super().__init__(command_queue)
28 def add_new_command(self, name, function, args=None):
29 self.command_queue.add_new_command(name, function, args)
30 return self
32 def add_command(self, command):
33 self.command_queue.add_command(command)
34 return self
36 def add_commands(self, commands):
37 self.command_queue.add_commands(commands)
38 return self
40 def add_command_queue(self, command_queue):
41 self.command_queue.add_command_queue(command_queue)
42 return self
44 def add_command_queues(self, command_queues):
45 self.command_queue.add_command_queues(command_queues)
46 return self
48 def add_command_builder(self, command_builder):
49 self.command_queue.add_command_queue(command_builder.build())
50 return self
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
57 def add_command_list(self, command_list):
58 self.command_queue.add_command_list(command_list)
59 return self
61 def add_command_lists(self, command_lists):
62 self.command_queue.add_command_lists(command_lists)
63 return self
65 def add_command_list_builder(self, command_list_builder):
66 self.command_queue.add_command_list(command_list_builder.build())
67 return self
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
74 def add_command_queue_factory(self, command_queue_factory):
75 self.command_queue.add_command_queue(command_queue_factory.build())
76 return self
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
83 def add_command_list_factory(self, command_list_factory):
84 self.command_queue.add_command_list(command_list_factory.build())
85 return self
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
92 def add_command_factory(self, command_factory):
93 self.command_queue.add_command(command_factory.build())
94 return self
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
101 def add_command_builder_factory(self, command_builder_factory):
102 self.command_queue.add_command_queue(command_builder_factory.build())
103 return self