Made a proper Config object
[zeroinstall/zeroinstall-afb.git] / zeroinstall / cmd / download.py
blob6aa8454b776ba1182c32063e99dcc5f97ff28add
1 """
2 The B{0install download} command-line interface.
3 """
5 # Copyright (C) 2011, Thomas Leonard
6 # See the README file for details, or visit http://0install.net.
8 from optparse import OptionParser
9 import os, sys
10 import logging
12 from zeroinstall import cmd, SafeException, _
13 from zeroinstall.cmd import UsageError, select
14 from zeroinstall.injector import model, autopolicy, selections, handler
16 syntax = "URI"
18 def add_options(parser):
19 select.add_options(parser)
20 parser.add_option("", "--show", help=_("show where components are installed"), action='store_true')
22 def handle(config, options, args):
23 if len(args) != 1:
24 raise UsageError()
25 iface_uri = model.canonical_iface_uri(args[0])
27 sels = select.get_selections(config, options, iface_uri,
28 select_only = False, download_only = True, test_callback = None)
29 if not sels:
30 sys.exit(1) # Aborted by user
32 if options.xml:
33 select.show_xml(sels)
34 if options.show:
35 select.show_human(sels, config.stores)