Fix issue 47: enable custom batch templates #48
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #47
In addition to the existing
install
function override, this PR adds the ability for users to supply a custom batch template (for windows), by passing abatch_template
argument toClient.download_and_install_update()
.The default template
WIN_BATCH_TEMPLATE
can be used as an example (see here).The following default variables are available for use in the custom template, but they can also be omitted:
{log_lines}
inserts lines that cause batch file output to be logged to file{src_dir}
inserts path to source directory{dst_dir}
inserts path to destination directory{robocopy_options}
inserts robocopy options (default or custom){delete_self}
inserts a line that causes the batch file to delete itself (should only be used at end of file)The user can also introduce custom template variables, e.g.
{my_variable}
, or they can pass a pre-filled template without any variables.If custom template variables are used, they must be passed into
Client.download_and_install_update()
using thebatch_template_extra_kwargs
argument.Usage example (note this template doesn't do anything useful):
Also see example in tests.