puzzlepiece.parse module
- puzzlepiece.parse.parse_params(text, puzzle)[source]
Parse a string of the following format to construct references to
BaseParam
objects:[Piece name]:[param name], [Piece name]:[param name], ...
- Parameters:
text – The string to parse.
puzzle – The app’s
Puzzle
.
- Return type:
list(puzzlepiece.param.BaseParam, )
- puzzlepiece.parse.run(text, puzzle)[source]
Execute a set of puzzlepiece script commands.
Commands can be separated by new lines, or a semicolon (
;
) + space.If a command needs to include a semicolon followed by a space, it can be inserted as
\;
(backslash character + semicolon + space).Comments can be added by starting the line with
#
.- The available commands are:
set:[Piece name]:[param name]:[value]
run:[Piece name]:[action name]
get:[Piece name]:[param name]
sleep:[duration in s]
prompt:[text]
print:[text]
- Parameters:
text – The string to parse.
puzzle – The app’s
Puzzle
.
- puzzlepiece.parse.format(text, puzzle)[source]
Insert values of
BaseParam
objects into a string.To insert a value, use the following format:
The value is: {[Piece name]:[param name]}
If a param has a getter, it will be called.
One can also apply additional formatting:
The formatted value is {[Piece name]:[param/readout name];[format]}
where format follows the ‘new’ standard as described at https://pyformat.info/. For example:The laser power is {laser:power;:.1f}
- Parameters:
text – The string to parse.
puzzle – The app’s
Puzzle
.
- Return type:
str