Package zeroinstall
[frames] | no frames]

Source Code for Package zeroinstall

 1  """ 
 2  The Python implementation of the Zero Install injector is divided into five sub-packages: 
 3   
 4   - L{zeroinstall.cmd} contains one module for each 0install sub-command (providing the shell-scripting interface) 
 5   - L{zeroinstall.injector} contains most of the interesting stuff for managing feeds, keys and downloads and for selecting versions 
 6   - L{zeroinstall.zerostore} contains low-level code for handling the implementation cache (where unpacked packages are stored) 
 7   - L{zeroinstall.gtkui} contains code for making GTK user-interfaces 
 8   - L{zeroinstall.support} contains helper code (not really specific to Zero Install) 
 9   
10  @copyright: (C) 2010, Thomas Leonard 
11  @see: U{http://0install.net} 
12   
13  @var _: a function for translating strings using the zero-install domain (for use internally by Zero Install) 
14  """ 
15   
16  version = '1.4.1' 
17   
18  import gobject; gobject.threads_init() 
19   
20  import gettext 
21  from os.path import dirname, join 
22   
23  try: 
24          localedir = None 
25          translation = gettext.translation('zero-install', fallback = False) 
26  except: 
27          localedir = join(dirname(dirname(__file__)), 'share', 'locale') 
28          translation = gettext.translation('zero-install', 
29                                  localedir = localedir, 
30                                  fallback = True) 
31  _ = translation.ugettext 
32   
33 -class SafeException(Exception):
34 """An exception that can be reported to the user without a stack trace. 35 The command-line interface's C{--verbose} option will display the full stack trace."""
36
37 -class NeedDownload(SafeException):
38 """Thrown if we tried to start a download and downloading is 39 disabled."""
40 - def __init__(self, url):
41 Exception.__init__(self, _("Would download '%s'") % url)
42