@cached_property<EOL><INDENT>def actions(self):<DEDENT>
actions = []<EOL>do = actions.append<EOL>colors = self.colors<EOL>movements = (<EOL>MoveCarriageToTheRight(KnitCarriage()),<EOL>MoveCarriageToTheLeft(KnitCarriage()))<EOL>rows = self._rows<EOL>first_needles = self._get_row_needles(<NUM_LIT:0>)<EOL>if len(colors) == <NUM_LIT:1>:<EOL><INDENT>actions.extend([<EOL>SwitchOffMachine(),<EOL>SwitchCarriageToModeNl()])<EOL><DEDENT>else:<EOL><INDENT>actions.extend([<EOL>SwitchCarriageToModeKc(),<EOL>SwitchOnMachine()])<EOL><DEDENT>do(MoveNeedlesIntoPosition("<STR_LIT:B>", first_needles))<EOL>do(MoveCarriageOverLeftHallSensor())<EOL>if len(colors) == <NUM_LIT:1>:<EOL><INDENT>do(PutColorInNutA(colors[<NUM_LIT:0>]))<EOL><DEDENT>if len(colors) == <NUM_LIT:2>:<EOL><INDENT>do(PutColorInNutA(colors[<NUM_LIT:0>]))<EOL>do(PutColorInNutB(colors[<NUM_LIT:1>]))<EOL><DEDENT>for index, row in enumerate(rows):<EOL><INDENT>do(movements[index & <NUM_LIT:1>])<EOL><DEDENT>return actions<EOL>
A list of actions to perform.

        :return: a list of :class:`AYABInterface.actions.Action`