summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Firth <dan.firth@codethink.co.uk>2013-10-10 14:33:37 +0100
committerDaniel Firth <dan.firth@codethink.co.uk>2013-10-10 14:33:37 +0100
commitd623e70024977422ea3c3320643bfff2656f8a4f (patch)
treeeb41466bf59c758e909f39e3a2c2de2e475bf0b7
parent4cba7db4b5c34e567e2795dbc99d8b8b485ec5b1 (diff)
parent6104e59732b140e73cee5f5c575fb31334b2ab0d (diff)
downloadmorph-d623e70024977422ea3c3320643bfff2656f8a4f.tar.gz
Merge branch 'danielfirth/RT240'
Reviewed by: Lars Wirzenius Reviewed by: Pedro Alvarez
-rw-r--r--morphlib/app.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/morphlib/app.py b/morphlib/app.py
index a0833d45..0c4f3455 100644
--- a/morphlib/app.py
+++ b/morphlib/app.py
@@ -20,10 +20,17 @@ import logging
import os
import sys
import time
+import urlparse
import warnings
import morphlib
+class InvalidUrlError(cliapp.AppException):
+
+ def __init__(self, parameter, url):
+ cliapp.AppException.__init__(
+ self, 'Value %s for argument %s is not a url' %
+ (url, parameter))
defaults = {
'trove-host': 'git.baserock.org',
@@ -200,6 +207,13 @@ class Morph(cliapp.Application):
tmpdir = os.path.join(tmpdir_base, 'morph_tmp')
self.settings['tempdir'] = tmpdir
+ if self.settings['tarball-server']:
+ url_split = urlparse.urlparse(self.settings['tarball-server'])
+ if not (url_split.netloc and
+ url_split.scheme in ('http', 'https', 'file')):
+ raise InvalidUrlError('tarball-server',
+ self.settings['tarball-server'])
+
if 'MORPH_DUMP_PROCESSED_CONFIG' in os.environ:
self.settings.dump_config(sys.stdout)
sys.exit(0)