summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-10-29 12:23:16 +0000
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-10-29 12:23:16 +0000
commit9f22da771ebfec1901d0fe90f87b1960aa578748 (patch)
treed74acb5bcad5311d6468ac42545d939d625ab52d
parent644d71bae111c7d2f3dc23cdccf68941d66505ff (diff)
parent479e23084983471de3be33547bf85840c8ad8f45 (diff)
downloadmorph-9f22da771ebfec1901d0fe90f87b1960aa578748.tar.gz
Merge remote-tracking branch 'origin/liw/cache-server-settings'
Reviewed-by: Daniel Silverstone
-rw-r--r--morphlib/app.py14
-rw-r--r--morphlib/plugins/show_dependencies_plugin.py7
-rw-r--r--morphlib/util.py20
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: