aboutsummaryrefslogtreecommitdiffstats
path: root/RepSys/command.py
diff options
context:
space:
mode:
Diffstat (limited to 'RepSys/command.py')
-rw-r--r--RepSys/command.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/RepSys/command.py b/RepSys/command.py
index 8029e08..f1d61f7 100644
--- a/RepSys/command.py
+++ b/RepSys/command.py
@@ -1,6 +1,7 @@
#!/usr/bin/python
from RepSys import Error, config
-import sys, os, urllib
+import sys, os
+import urlparse
import optparse
__all__ = ["OptionParser", "do_command", "default_parent"]
@@ -39,6 +40,10 @@ def do_command(parse_options_func, main_func):
except Error, e:
sys.stderr.write("error: %s\n" % str(e))
sys.exit(1)
+ except KeyboardInterrupt:
+ sys.stderr.write("interrupted\n")
+ sys.stderr.flush()
+ sys.exit(1)
def default_parent(url):
if url.find("://") == -1:
@@ -46,8 +51,9 @@ def default_parent(url):
if not default_parent:
raise Error, "received a relative url, " \
"but default_parent was not setup"
- type, rest = urllib.splittype(default_parent)
- url = type+':'+os.path.normpath(rest+'/'+url)
+ parsed = list(urlparse.urlparse(default_parent))
+ parsed[2] = os.path.normpath(parsed[2] + "/" + url)
+ url = urlparse.urlunparse(parsed)
return url
# vim:et:ts=4:sw=4