Self-Updating¶
New in version 1.9.
Add self-updating capabilities to your workflow. It regularly (every day by default) fetches the latest releases from the specified GitHub repository.
Currently, only updates from GitHub releases are supported.
Note
Alfred-Workflow will check for updates, but will neither install them nor notify the user that an update is available.
Please see Self-updating in the User Manual for information on how to enable automatic updates in your workflow.
API¶
Self-updating from GitHub
New in version 1.9.
Note
This module is not intended to be used directly. Automatic updates
are controlled by the update_settings dict passed to
Workflow objects.
-
class
workflow.update.UpdateManager(update_settings, update_interval=86400)¶ Bases:
object-
cache_key_fmt= u'__aw_updater-{0}'¶
-
check_for_update(force=False)¶
-
install_update()¶
-
update_available¶
-
-
class
workflow.update.Updater(update_settings)¶ Bases:
objectBase class for auto-updaters
Subclasses must override the following methods:
-
workflow.update.build_api_url(slug)¶ Generate releases URL from GitHub slug
Parameters: slug – Repo name in form username/repoReturns: URL to the API endpoint for the repo’s releases
-
workflow.update.check_update(github_slug, current_version)¶ Check whether a newer release is available on GitHub
Parameters: - github_slug –
username/repofor workflow’s GitHub repo - current_version (
unicode) – the currently installed version of the workflow. Semantic versioning is required.
Returns: Trueif an update is available, elseFalseIf an update is available, its version number and download URL will be cached.
- github_slug –
-
workflow.update.download_workflow(url)¶ Download workflow at
urlto a local temporary fileParameters: url – URL to .alfredworkflow file in GitHub repo Returns: path to downloaded file
-
workflow.update.get_valid_releases(github_slug)¶ Return list of all valid releases
Parameters: github_slug – username/repofor workflow’s GitHub repoReturns: list of dicts. Each dicthas the form{'version': '1.1', 'download_url': 'http://github.com/...'}A valid release is one that contains one
.alfredworkflowfile.If the GitHub version (i.e. tag) is of the form
v1.1, the leadingvwill be stripped.
-
workflow.update.install_update(github_slug, current_version)¶ If a newer release is available, download and install it
Parameters: - github_slug –
username/repofor workflow’s GitHub repo - current_version (
unicode) – the currently installed version of the workflow. Semantic versioning is required.
If an update is available, it will be downloaded and installed.
Returns: Trueif an update is installed, elseFalse- github_slug –
-
workflow.update.wf()¶