diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-10-29 12:23:16 +0000 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-10-29 12:23:16 +0000 |
commit | 9f22da771ebfec1901d0fe90f87b1960aa578748 (patch) | |
tree | d74acb5bcad5311d6468ac42545d939d625ab52d | |
parent | 644d71bae111c7d2f3dc23cdccf68941d66505ff (diff) | |
parent | 479e23084983471de3be33547bf85840c8ad8f45 (diff) | |
download | morph-9f22da771ebfec1901d0fe90f87b1960aa578748.tar.gz |
Merge remote-tracking branch 'origin/liw/cache-server-settings'
Reviewed-by: Daniel Silverstone
-rw-r--r-- | morphlib/app.py | 14 | ||||
-rw-r--r-- | morphlib/plugins/show_dependencies_plugin.py | 7 | ||||
-rw-r--r-- | morphlib/util.py | 20 |
3 files changed, 37 insertions, 4 deletions
diff --git a/morphlib/app.py b/morphlib/app.py index f916ae17..aecee42b 100644 --- a/morphlib/app.py +++ b/morphlib/app.py @@ -92,6 +92,20 @@ class Morph(cliapp.Application): metavar='URL', default=None, group=group_advanced) + self.settings.string( + ['artifact-cache-server'], + 'HTTP URL for the artifact cache server; ' + 'if not set, then the cache-server setting is used instead', + metavar='URL', + default=None, + group=group_advanced) + self.settings.string( + ['git-resolve-cache-server'], + 'HTTP URL for the git ref resolving cache server; ' + 'if not set, then the cache-server setting is used instead', + metavar='URL', + default=None, + group=group_advanced) self.settings.string(['tarball-server'], 'base URL to download tarballs. ' 'If not provided, defaults to ' diff --git a/morphlib/plugins/show_dependencies_plugin.py b/morphlib/plugins/show_dependencies_plugin.py index 9fdb7c60..c59cf507 100644 --- a/morphlib/plugins/show_dependencies_plugin.py +++ b/morphlib/plugins/show_dependencies_plugin.py @@ -52,9 +52,12 @@ class ShowDependenciesPlugin(cliapp.Plugin): self.app.settings['repo-alias']) lrc = morphlib.localrepocache.LocalRepoCache( self.app, cachedir, repo_resolver, tarball_base_url) - if self.app.settings['cache-server']: + + remote_url = morphlib.util.get_git_resolve_cache_server( + self.app.settings) + if remote_url: rrc = morphlib.remoterepocache.RemoteRepoCache( - self.app.settings['cache-server'], repo_resolver) + remote_url, repo_resolver) else: rrc = None diff --git a/morphlib/util.py b/morphlib/util.py index 1ccb0949..04df0633 100644 --- a/morphlib/util.py +++ b/morphlib/util.py @@ -81,6 +81,22 @@ def create_cachedir(settings): # pragma: no cover return cachedir +def get_artifact_cache_server(settings): # pragma: no cover + if settings['artifact-cache-server']: + return settings['artifact-cache-server'] + if settings['cache-server']: + return settings['cache-server'] + return None + + +def get_git_resolve_cache_server(settings): # pragma: no cover + if settings['git-resolve-cache-server']: + return settings['git-resolve-cache-server'] + if settings['cache-server']: + return settings['cache-server'] + return None + + def new_artifact_caches(settings): # pragma: no cover '''Create new objects for local and remote artifact caches. @@ -95,7 +111,7 @@ def new_artifact_caches(settings): # pragma: no cover lac = morphlib.localartifactcache.LocalArtifactCache(artifact_cachedir) - rac_url = settings['cache-server'] + rac_url = get_artifact_cache_server(settings) if rac_url: rac = morphlib.remoteartifactcache.RemoteArtifactCache(rac_url) else: @@ -162,7 +178,7 @@ def new_repo_caches(app): # pragma: no cover lrc = morphlib.localrepocache.LocalRepoCache( app, gits_dir, repo_resolver, tarball_base_url=tarball_base_url) - url = app.settings['cache-server'] + url = get_git_resolve_cache_server(app.settings) if url: rrc = morphlib.remoterepocache.RemoteRepoCache(url, repo_resolver) else: |