From 45098761ed15111e72382e23dd8b472f0f17836a Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 12 Jul 2009 11:39:42 +0100 Subject: [PATCH] Import _ into each module rather than using a builtin --- tests/testdownload.py | 1 + zeroinstall/0launch-gui/0launch-gui | 2 ++ zeroinstall/__init__.py | 7 ++++--- zeroinstall/alias.py | 2 ++ zeroinstall/gtkui/addbox.py | 2 ++ zeroinstall/gtkui/applistbox.py | 1 + zeroinstall/gtkui/cache.py | 1 + zeroinstall/gtkui/desktop.py | 1 + zeroinstall/gtkui/gtkutils.py | 2 ++ zeroinstall/gtkui/help_box.py | 1 + zeroinstall/gtkui/icon.py | 1 + zeroinstall/gtkui/treetips.py | 1 + zeroinstall/gtkui/trust_box.py | 1 + zeroinstall/gtkui/xdgutils.py | 1 + zeroinstall/helpers.py | 1 + zeroinstall/injector/arch.py | 1 + zeroinstall/injector/autopolicy.py | 1 + zeroinstall/injector/background.py | 7 ++++--- zeroinstall/injector/cli.py | 1 + zeroinstall/injector/distro.py | 1 + zeroinstall/injector/download.py | 1 + zeroinstall/injector/fetch.py | 1 + zeroinstall/injector/gpg.py | 1 + zeroinstall/injector/handler.py | 1 + zeroinstall/injector/iface_cache.py | 2 ++ zeroinstall/injector/model.py | 1 + zeroinstall/injector/policy.py | 1 + zeroinstall/injector/qdom.py | 1 + zeroinstall/injector/reader.py | 1 + zeroinstall/injector/run.py | 1 + zeroinstall/injector/selections.py | 1 + zeroinstall/injector/solver.py | 7 ++++--- zeroinstall/injector/trust.py | 1 + zeroinstall/injector/writer.py | 1 + zeroinstall/support/__init__.py | 1 + zeroinstall/support/basedir.py | 1 + zeroinstall/support/tasks.py | 4 ++++ zeroinstall/zerostore/__init__.py | 1 + zeroinstall/zerostore/cli.py | 1 + zeroinstall/zerostore/manifest.py | 2 +- zeroinstall/zerostore/optimise.py | 4 ++++ zeroinstall/zerostore/unpack.py | 1 + 42 files changed, 62 insertions(+), 10 deletions(-) diff --git a/tests/testdownload.py b/tests/testdownload.py index 7435eda..74e08e2 100755 --- a/tests/testdownload.py +++ b/tests/testdownload.py @@ -8,6 +8,7 @@ from logging import getLogger, WARN, ERROR from contextlib import contextmanager sys.path.insert(0, '..') +os.environ['PYTHONPATH'] = os.path.abspath('..') os.environ["http_proxy"] = "localhost:8000" diff --git a/zeroinstall/0launch-gui/0launch-gui b/zeroinstall/0launch-gui/0launch-gui index 9847da0..c48e100 100755 --- a/zeroinstall/0launch-gui/0launch-gui +++ b/zeroinstall/0launch-gui/0launch-gui @@ -3,12 +3,14 @@ # See the README file for details, or visit http://0install.net. import os, sys +import gettext import locale from logging import warn try: locale.setlocale(locale.LC_ALL, '') except locale.Error: warn('Error setting locale (eg. Invalid locale)') +gettext.install('zero-install', unicode=True, names=['ngettext']) # This is for pycentral on Debian-type systems. 0launch-gui is a symlink to the # copy in the pycentral source directory. Python does a realpath() on this diff --git a/zeroinstall/__init__.py b/zeroinstall/__init__.py index 876833e..8f91f68 100644 --- a/zeroinstall/__init__.py +++ b/zeroinstall/__init__.py @@ -8,15 +8,16 @@ The Python implementation of the Zero Install injector is divided into four sub- @copyright: (C) 2009, Thomas Leonard @see: U{http://0install.net} + +@var _: a function for translating strings using the zero-install domain (for use internally by Zero Install) """ version = '0.41' import gettext -#gettext.install('zero-install', names=['ngettext']) -#Unicode required for using non ascii chars in optparse -gettext.install('zero-install', unicode=True, names=['ngettext']) +translation = gettext.translation('zero-install', fallback = True) +_ = translation.ugettext class SafeException(Exception): """An exception that can be reported to the user without a stack trace. diff --git a/zeroinstall/alias.py b/zeroinstall/alias.py index 6e3d742..a7189ab 100644 --- a/zeroinstall/alias.py +++ b/zeroinstall/alias.py @@ -6,6 +6,8 @@ Support code for 0alias scripts. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ + _template = '''#!/bin/sh if [ "$*" = "--versions" ]; then exec 0launch -gd '%s' "$@" diff --git a/zeroinstall/gtkui/addbox.py b/zeroinstall/gtkui/addbox.py index 2fcad30..68d1452 100644 --- a/zeroinstall/gtkui/addbox.py +++ b/zeroinstall/gtkui/addbox.py @@ -1,7 +1,9 @@ """A GTK dialog which lets the user add a new application to their desktop.""" + # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os, sys import gtk, gobject import gtk.glade diff --git a/zeroinstall/gtkui/applistbox.py b/zeroinstall/gtkui/applistbox.py index 8b6445e..408bc1c 100644 --- a/zeroinstall/gtkui/applistbox.py +++ b/zeroinstall/gtkui/applistbox.py @@ -2,6 +2,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os import gtk, gobject, pango import gtk.glade diff --git a/zeroinstall/gtkui/cache.py b/zeroinstall/gtkui/cache.py index 989a3c8..debdab7 100644 --- a/zeroinstall/gtkui/cache.py +++ b/zeroinstall/gtkui/cache.py @@ -2,6 +2,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os import gtk diff --git a/zeroinstall/gtkui/desktop.py b/zeroinstall/gtkui/desktop.py index 0b24268..b0627e5 100644 --- a/zeroinstall/gtkui/desktop.py +++ b/zeroinstall/gtkui/desktop.py @@ -3,6 +3,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import sys from optparse import OptionParser import logging diff --git a/zeroinstall/gtkui/gtkutils.py b/zeroinstall/gtkui/gtkutils.py index 887f3c7..35855e5 100644 --- a/zeroinstall/gtkui/gtkutils.py +++ b/zeroinstall/gtkui/gtkutils.py @@ -1,7 +1,9 @@ """Useful utility methods for GTK.""" + # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import gtk import gtk.glade diff --git a/zeroinstall/gtkui/help_box.py b/zeroinstall/gtkui/help_box.py index 0d6715c..c680d06 100644 --- a/zeroinstall/gtkui/help_box.py +++ b/zeroinstall/gtkui/help_box.py @@ -2,6 +2,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import gtk class HelpBox: diff --git a/zeroinstall/gtkui/icon.py b/zeroinstall/gtkui/icon.py index 9f131d7..1ca1d4c 100644 --- a/zeroinstall/gtkui/icon.py +++ b/zeroinstall/gtkui/icon.py @@ -2,6 +2,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import gtk from logging import warn diff --git a/zeroinstall/gtkui/treetips.py b/zeroinstall/gtkui/treetips.py index 1ec0307..084781f 100644 --- a/zeroinstall/gtkui/treetips.py +++ b/zeroinstall/gtkui/treetips.py @@ -2,6 +2,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import time, gobject, gtk class TreeTips: diff --git a/zeroinstall/gtkui/trust_box.py b/zeroinstall/gtkui/trust_box.py index 9fed002..3dd498d 100644 --- a/zeroinstall/gtkui/trust_box.py +++ b/zeroinstall/gtkui/trust_box.py @@ -1,6 +1,7 @@ # Copyright (C) 2009, Thomas Leonard # -*- coding: utf-8 -*- # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import gtk from zeroinstall.injector.model import SafeException diff --git a/zeroinstall/gtkui/xdgutils.py b/zeroinstall/gtkui/xdgutils.py index d3b5526..403eebb 100644 --- a/zeroinstall/gtkui/xdgutils.py +++ b/zeroinstall/gtkui/xdgutils.py @@ -4,6 +4,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import shutil, os, tempfile from logging import info, warn diff --git a/zeroinstall/helpers.py b/zeroinstall/helpers.py index 4f952ef..d500dea 100644 --- a/zeroinstall/helpers.py +++ b/zeroinstall/helpers.py @@ -8,6 +8,7 @@ Convenience routines for performing common operations. import os, sys, logging from zeroinstall import support +from zeroinstall import _ def get_selections_gui(iface_uri, gui_args, test_callback = None): """Run the GUI to choose and download a set of implementations. diff --git a/zeroinstall/injector/arch.py b/zeroinstall/injector/arch.py index 23aac77..855d9cb 100644 --- a/zeroinstall/injector/arch.py +++ b/zeroinstall/injector/arch.py @@ -17,6 +17,7 @@ better, Unsupported architectures are not listed at all. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os # os_ranks and mapping are mappings from names to how good they are. diff --git a/zeroinstall/injector/autopolicy.py b/zeroinstall/injector/autopolicy.py index 8953f08..6bfac79 100644 --- a/zeroinstall/injector/autopolicy.py +++ b/zeroinstall/injector/autopolicy.py @@ -11,6 +11,7 @@ is also the policy used to run the injector's GUI. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ from logging import info from zeroinstall.injector import model, policy, run diff --git a/zeroinstall/injector/background.py b/zeroinstall/injector/background.py index 7743194..01a097b 100644 --- a/zeroinstall/injector/background.py +++ b/zeroinstall/injector/background.py @@ -6,15 +6,16 @@ process that runs quietly in the background. This avoids the need to annoy people with a 'checking for updates' box when they're trying to run things. """ +# Copyright (C) 2009, Thomas Leonard +# See the README file for details, or visit http://0install.net. + +from zeroinstall import _ import sys, os from logging import info, warn from zeroinstall.support import tasks from zeroinstall.injector.iface_cache import iface_cache from zeroinstall.injector import handler, namespaces -# Copyright (C) 2009, Thomas Leonard -# See the README file for details, or visit http://0install.net. - def _escape_xml(s): return s.replace('&', '&').replace('<', '<') diff --git a/zeroinstall/injector/cli.py b/zeroinstall/injector/cli.py index 486fd6e..fc2fd21 100644 --- a/zeroinstall/injector/cli.py +++ b/zeroinstall/injector/cli.py @@ -5,6 +5,7 @@ This code is here, rather than in B{0launch} itself, simply so that it gets byte install time. """ +from zeroinstall import _ import os, sys from optparse import OptionParser import logging diff --git a/zeroinstall/injector/distro.py b/zeroinstall/injector/distro.py index 4af0de2..6e8c337 100644 --- a/zeroinstall/injector/distro.py +++ b/zeroinstall/injector/distro.py @@ -6,6 +6,7 @@ Integration with native distribution package managers. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os, re from logging import warn, info from zeroinstall.injector import namespaces, model diff --git a/zeroinstall/injector/download.py b/zeroinstall/injector/download.py index fc399fa..35b5267 100644 --- a/zeroinstall/injector/download.py +++ b/zeroinstall/injector/download.py @@ -13,6 +13,7 @@ import tempfile, os, sys, subprocess from zeroinstall import SafeException from zeroinstall.support import tasks from logging import info, debug +from zeroinstall import _ download_starting = "starting" # Waiting for UI to start it download_fetching = "fetching" # In progress diff --git a/zeroinstall/injector/fetch.py b/zeroinstall/injector/fetch.py index 6aea891..db1c5e9 100644 --- a/zeroinstall/injector/fetch.py +++ b/zeroinstall/injector/fetch.py @@ -5,6 +5,7 @@ Downloads feeds, keys, packages and icons. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os from logging import info, debug, warn diff --git a/zeroinstall/injector/gpg.py b/zeroinstall/injector/gpg.py index 7758993..f9cf6d1 100644 --- a/zeroinstall/injector/gpg.py +++ b/zeroinstall/injector/gpg.py @@ -9,6 +9,7 @@ This module is used to invoke GnuPG to check the digital signatures on interface # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import subprocess import base64, re import os diff --git a/zeroinstall/injector/handler.py b/zeroinstall/injector/handler.py index d53a69a..9b113ec 100644 --- a/zeroinstall/injector/handler.py +++ b/zeroinstall/injector/handler.py @@ -10,6 +10,7 @@ To do this, you supply a L{Handler} to the L{policy}. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import sys from logging import debug, warn diff --git a/zeroinstall/injector/iface_cache.py b/zeroinstall/injector/iface_cache.py index c949b2e..29f647a 100644 --- a/zeroinstall/injector/iface_cache.py +++ b/zeroinstall/injector/iface_cache.py @@ -3,6 +3,7 @@ Manages the feed cache. @var iface_cache: A singleton cache object. You should normally use this rather than creating new cache objects. + """ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. @@ -31,6 +32,7 @@ import os, sys, time from logging import debug, info, warn from cStringIO import StringIO +from zeroinstall import _ from zeroinstall.support import basedir from zeroinstall.injector import reader, model from zeroinstall.injector.namespaces import config_site, config_prog diff --git a/zeroinstall/injector/model.py b/zeroinstall/injector/model.py index ea130c1..afadaf7 100644 --- a/zeroinstall/injector/model.py +++ b/zeroinstall/injector/model.py @@ -13,6 +13,7 @@ well-known variables. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os, re from logging import info, debug from zeroinstall import SafeException, version diff --git a/zeroinstall/injector/policy.py b/zeroinstall/injector/policy.py index 6ebeb5f..155c99e 100644 --- a/zeroinstall/injector/policy.py +++ b/zeroinstall/injector/policy.py @@ -7,6 +7,7 @@ settings. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import time import os from logging import info, debug, warn diff --git a/zeroinstall/injector/qdom.py b/zeroinstall/injector/qdom.py index 5962fef..7cf5426 100644 --- a/zeroinstall/injector/qdom.py +++ b/zeroinstall/injector/qdom.py @@ -7,6 +7,7 @@ This is our light-weight version. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ from xml.parsers import expat class Element(object): diff --git a/zeroinstall/injector/reader.py b/zeroinstall/injector/reader.py index 8683416..d17f7e3 100644 --- a/zeroinstall/injector/reader.py +++ b/zeroinstall/injector/reader.py @@ -5,6 +5,7 @@ Parses an XML interface into a Python representation. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os from logging import debug, info, warn from os.path import dirname diff --git a/zeroinstall/injector/run.py b/zeroinstall/injector/run.py index 0a895af..2de6bb4 100644 --- a/zeroinstall/injector/run.py +++ b/zeroinstall/injector/run.py @@ -5,6 +5,7 @@ Executes a set of implementations as a program. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os, sys from logging import debug, info diff --git a/zeroinstall/injector/selections.py b/zeroinstall/injector/selections.py index f4378d3..8c8c368 100644 --- a/zeroinstall/injector/selections.py +++ b/zeroinstall/injector/selections.py @@ -6,6 +6,7 @@ Load and save a set of chosen implementations. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ from zeroinstall.injector.policy import Policy from zeroinstall.injector.model import process_binding, process_depends, binding_names from zeroinstall.injector.namespaces import XMLNS_IFACE diff --git a/zeroinstall/injector/solver.py b/zeroinstall/injector/solver.py index 7b7ed30..3406f4f 100644 --- a/zeroinstall/injector/solver.py +++ b/zeroinstall/injector/solver.py @@ -2,6 +2,10 @@ Chooses a set of components to make a running program. """ +# Copyright (C) 2009, Thomas Leonard +# See the README file for details, or visit http://0install.net. + +from zeroinstall import _ import os from logging import debug, warn, info @@ -10,9 +14,6 @@ from zeroinstall.zerostore import BadDigest, NotStored from zeroinstall.injector.arch import machine_groups from zeroinstall.injector import model -# Copyright (C) 2009, Thomas Leonard -# See the README file for details, or visit http://0install.net. - class Solver(object): """Chooses a set of implementations to satisfy the requirements of a program and its user. Typical use: diff --git a/zeroinstall/injector/trust.py b/zeroinstall/injector/trust.py index 68951c7..e697cbb 100644 --- a/zeroinstall/injector/trust.py +++ b/zeroinstall/injector/trust.py @@ -10,6 +10,7 @@ in some cases and not others. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os from zeroinstall.support import basedir diff --git a/zeroinstall/injector/writer.py b/zeroinstall/injector/writer.py index 76bda4c..bf8e5b1 100644 --- a/zeroinstall/injector/writer.py +++ b/zeroinstall/injector/writer.py @@ -5,6 +5,7 @@ Save per-interface configuration information. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os from xml.dom import minidom, XMLNS_NAMESPACE diff --git a/zeroinstall/support/__init__.py b/zeroinstall/support/__init__.py index ea9bb4f..5e5aa1e 100644 --- a/zeroinstall/support/__init__.py +++ b/zeroinstall/support/__init__.py @@ -10,6 +10,7 @@ wish were in the standard library. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os, logging def find_in_path(prog): diff --git a/zeroinstall/support/basedir.py b/zeroinstall/support/basedir.py index ee4ea2d..38b5d71 100644 --- a/zeroinstall/support/basedir.py +++ b/zeroinstall/support/basedir.py @@ -13,6 +13,7 @@ instead. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os home = os.environ.get('HOME', '/') diff --git a/zeroinstall/support/tasks.py b/zeroinstall/support/tasks.py index 68f99b3..ed88c03 100644 --- a/zeroinstall/support/tasks.py +++ b/zeroinstall/support/tasks.py @@ -34,6 +34,10 @@ Tasks use python's generator API to provide a more pleasant interface to callbacks. See the Task class (below) for more information. """ +# Copyright (C) 2009, Thomas Leonard +# See the README file for details, or visit http://0install.net. + +from zeroinstall import _ import sys from logging import info, warn import gobject diff --git a/zeroinstall/zerostore/__init__.py b/zeroinstall/zerostore/__init__.py index d7f7956..8252804 100644 --- a/zeroinstall/zerostore/__init__.py +++ b/zeroinstall/zerostore/__init__.py @@ -5,6 +5,7 @@ Code for managing the implementation cache. # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os from logging import debug, info, warn diff --git a/zeroinstall/zerostore/cli.py b/zeroinstall/zerostore/cli.py index f7b6814..2f658c0 100644 --- a/zeroinstall/zerostore/cli.py +++ b/zeroinstall/zerostore/cli.py @@ -3,6 +3,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import sys, os from zeroinstall.zerostore.manifest import verify, get_algorithm, copy_tree_with_verify from zeroinstall import zerostore, SafeException, support diff --git a/zeroinstall/zerostore/manifest.py b/zeroinstall/zerostore/manifest.py index 2d03df7..15bd776 100644 --- a/zeroinstall/zerostore/manifest.py +++ b/zeroinstall/zerostore/manifest.py @@ -26,7 +26,7 @@ A top-level ".manifest" file is ignored. from __future__ import generators import os, stat -from zeroinstall import SafeException +from zeroinstall import SafeException, _ from zeroinstall.zerostore import BadDigest try: diff --git a/zeroinstall/zerostore/optimise.py b/zeroinstall/zerostore/optimise.py index c8940ec..ca02180 100644 --- a/zeroinstall/zerostore/optimise.py +++ b/zeroinstall/zerostore/optimise.py @@ -1,5 +1,9 @@ """Optimise the cache.""" +# Copyright (C) 2009, Thomas Leonard +# See the README file for details, or visit http://0install.net. + +from zeroinstall import _ import os from logging import warn diff --git a/zeroinstall/zerostore/unpack.py b/zeroinstall/zerostore/unpack.py index 7daa2e3..b4e58d7 100644 --- a/zeroinstall/zerostore/unpack.py +++ b/zeroinstall/zerostore/unpack.py @@ -3,6 +3,7 @@ # Copyright (C) 2009, Thomas Leonard # See the README file for details, or visit http://0install.net. +from zeroinstall import _ import os, subprocess import shutil import traceback -- 2.11.4.GIT