From 479e23084983471de3be33547bf85840c8ad8f45 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 29 Oct 2013 11:45:42 +0000 Subject: Add --artifact-cache-server and --git-resolve-cache-server --- morphlib/app.py | 14 ++++++++++++++ morphlib/plugins/show_dependencies_plugin.py | 7 +++++-- 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: -- cgit v1.2.1