From 0f3b0410e3e8aa99971087ca5d8141e04cf6d39d Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Sat, 27 Jul 2013 21:10:37 -0700 Subject: [PATCH] Removed unnecessary monkeypatching of __builtin__ Replaced it with explicitly importing the gettext function, which is significantly more readable. Change-Id: Ia0a7edcf685fb6e4052a8290367b233169529ab8 --- bin/swift-recon-cron | 2 ++ swift/__init__.py | 5 ----- swift/account/auditor.py | 1 + swift/account/reaper.py | 1 + swift/account/server.py | 1 + swift/common/bench.py | 1 + swift/common/bufferedhttp.py | 1 + swift/common/db.py | 1 + swift/common/db_replicator.py | 1 + swift/common/internal_client.py | 1 + swift/common/manager.py | 1 + swift/common/memcached.py | 1 + swift/common/middleware/catch_errors.py | 1 + swift/common/middleware/cname_lookup.py | 1 + swift/common/middleware/ratelimit.py | 2 ++ swift/common/middleware/recon.py | 1 + swift/common/utils.py | 1 + swift/common/wsgi.py | 1 + swift/container/auditor.py | 1 + swift/container/server.py | 1 + swift/container/sync.py | 1 + swift/container/updater.py | 1 + swift/obj/auditor.py | 1 + swift/obj/base.py | 1 + swift/obj/diskfile.py | 1 + swift/obj/expirer.py | 1 + swift/obj/replicator.py | 1 + swift/obj/server.py | 1 + swift/obj/updater.py | 1 + swift/proxy/controllers/account.py | 1 + swift/proxy/controllers/base.py | 3 ++- swift/proxy/controllers/container.py | 1 + swift/proxy/controllers/obj.py | 1 + swift/proxy/server.py | 1 + tox.ini | 1 - 35 files changed, 36 insertions(+), 7 deletions(-) diff --git a/bin/swift-recon-cron b/bin/swift-recon-cron index 1924c4776c..55bf36abf2 100755 --- a/bin/swift-recon-cron +++ b/bin/swift-recon-cron @@ -6,6 +6,8 @@ swift-recon-cron.py import os import sys from ConfigParser import ConfigParser +from gettext import gettext as _ + from swift.common.utils import get_logger, dump_recon_cache diff --git a/swift/__init__.py b/swift/__init__.py index 5fdb48db19..9a9e30f84c 100644 --- a/swift/__init__.py +++ b/swift/__init__.py @@ -1,6 +1,3 @@ -import gettext - - class Version(object): def __init__(self, canonical_version, final): self.canonical_version = canonical_version @@ -17,5 +14,3 @@ class Version(object): _version = Version('1.9.1', False) __version__ = _version.pretty_version __canonical_version__ = _version.canonical_version - -gettext.install('swift') diff --git a/swift/account/auditor.py b/swift/account/auditor.py index bce15e685b..2be0c96ebf 100644 --- a/swift/account/auditor.py +++ b/swift/account/auditor.py @@ -15,6 +15,7 @@ import os import time +from gettext import gettext as _ from random import random import swift.common.db diff --git a/swift/account/reaper.py b/swift/account/reaper.py index d65323cd01..0259f31c9a 100644 --- a/swift/account/reaper.py +++ b/swift/account/reaper.py @@ -15,6 +15,7 @@ import os import random +from gettext import gettext as _ from logging import DEBUG from math import sqrt from time import time, ctime diff --git a/swift/account/server.py b/swift/account/server.py index e53929fd85..3819924c53 100644 --- a/swift/account/server.py +++ b/swift/account/server.py @@ -18,6 +18,7 @@ from __future__ import with_statement import os import time import traceback +from gettext import gettext as _ from eventlet import Timeout diff --git a/swift/common/bench.py b/swift/common/bench.py index 3b8070b2d0..bc45d809c8 100644 --- a/swift/common/bench.py +++ b/swift/common/bench.py @@ -22,6 +22,7 @@ import signal import socket import logging from contextlib import contextmanager +from gettext import gettext as _ from optparse import Values import eventlet diff --git a/swift/common/bufferedhttp.py b/swift/common/bufferedhttp.py index 0a816037dd..e3a4b972a6 100644 --- a/swift/common/bufferedhttp.py +++ b/swift/common/bufferedhttp.py @@ -26,6 +26,7 @@ BufferedHTTPResponse. make all calls through httplib. """ +from gettext import gettext as _ from urllib import quote import logging import time diff --git a/swift/common/db.py b/swift/common/db.py index aeccf380ee..aafdf1cf03 100644 --- a/swift/common/db.py +++ b/swift/common/db.py @@ -25,6 +25,7 @@ import sys import time import cPickle as pickle import errno +from gettext import gettext as _ from tempfile import mkstemp from eventlet import sleep, Timeout diff --git a/swift/common/db_replicator.py b/swift/common/db_replicator.py index 96c64f78ab..00d0bc277d 100644 --- a/swift/common/db_replicator.py +++ b/swift/common/db_replicator.py @@ -22,6 +22,7 @@ import shutil import uuid import errno import re +from gettext import gettext as _ from eventlet import GreenPool, sleep, Timeout from eventlet.green import subprocess diff --git a/swift/common/internal_client.py b/swift/common/internal_client.py index a71a1fc70d..2973378079 100644 --- a/swift/common/internal_client.py +++ b/swift/common/internal_client.py @@ -20,6 +20,7 @@ import struct from sys import exc_info from urllib import quote import zlib +from gettext import gettext as _ from zlib import compressobj from swift.common.http import HTTP_NOT_FOUND diff --git a/swift/common/manager.py b/swift/common/manager.py index 3328731709..344cc4fc26 100644 --- a/swift/common/manager.py +++ b/swift/common/manager.py @@ -22,6 +22,7 @@ import signal import time import subprocess import re +from gettext import gettext as _ from swift.common.utils import search_tree, remove_file, write_file diff --git a/swift/common/memcached.py b/swift/common/memcached.py index fd468b6a46..1b986b85cc 100644 --- a/swift/common/memcached.py +++ b/swift/common/memcached.py @@ -49,6 +49,7 @@ import logging import socket import time from bisect import bisect +from gettext import gettext as _ from hashlib import md5 from swift.common.utils import json diff --git a/swift/common/middleware/catch_errors.py b/swift/common/middleware/catch_errors.py index a31975d87a..8401c683ea 100644 --- a/swift/common/middleware/catch_errors.py +++ b/swift/common/middleware/catch_errors.py @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +from gettext import gettext as _ from eventlet import Timeout from swift.common.swob import Request, HTTPServerError diff --git a/swift/common/middleware/cname_lookup.py b/swift/common/middleware/cname_lookup.py index 31574bc6a4..3db5752e4b 100644 --- a/swift/common/middleware/cname_lookup.py +++ b/swift/common/middleware/cname_lookup.py @@ -28,6 +28,7 @@ rewritten and the request is passed further down the WSGI chain. """ import socket +from gettext import gettext as _ try: import dns.resolver diff --git a/swift/common/middleware/ratelimit.py b/swift/common/middleware/ratelimit.py index 6040ff7b14..099f812235 100644 --- a/swift/common/middleware/ratelimit.py +++ b/swift/common/middleware/ratelimit.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. import time +from gettext import gettext as _ + import eventlet from swift.common.utils import cache_from_env, get_logger diff --git a/swift/common/middleware/recon.py b/swift/common/middleware/recon.py index 2fa8db804c..9bb4d47d4f 100644 --- a/swift/common/middleware/recon.py +++ b/swift/common/middleware/recon.py @@ -15,6 +15,7 @@ import errno import os +from gettext import gettext as _ from swift import __version__ as swiftver from swift.common.swob import Request, Response diff --git a/swift/common/utils.py b/swift/common/utils.py index 78f4fad8df..5828ed0f99 100644 --- a/swift/common/utils.py +++ b/swift/common/utils.py @@ -30,6 +30,7 @@ from hashlib import md5 from random import random, shuffle from urllib import quote from contextlib import contextmanager, closing +from gettext import gettext as _ import ctypes import ctypes.util from ConfigParser import ConfigParser, NoSectionError, NoOptionError, \ diff --git a/swift/common/wsgi.py b/swift/common/wsgi.py index c2a20bc883..50e3f2428d 100644 --- a/swift/common/wsgi.py +++ b/swift/common/wsgi.py @@ -20,6 +20,7 @@ import os import signal import time import mimetools +from gettext import gettext as _ from itertools import chain from StringIO import StringIO diff --git a/swift/container/auditor.py b/swift/container/auditor.py index 1b313f8038..6c5b3e5bb0 100644 --- a/swift/container/auditor.py +++ b/swift/container/auditor.py @@ -15,6 +15,7 @@ import os import time +from gettext import gettext as _ from random import random from eventlet import Timeout diff --git a/swift/container/server.py b/swift/container/server.py index 51fef685a1..ba5fc5c9a7 100644 --- a/swift/container/server.py +++ b/swift/container/server.py @@ -20,6 +20,7 @@ import time import traceback from xml.sax import saxutils from datetime import datetime +from gettext import gettext as _ from eventlet import Timeout diff --git a/swift/container/sync.py b/swift/container/sync.py index 0d761ce8be..0bbf7f49c4 100644 --- a/swift/container/sync.py +++ b/swift/container/sync.py @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +from gettext import gettext as _ from time import ctime, time from random import random, shuffle from struct import unpack_from diff --git a/swift/container/updater.py b/swift/container/updater.py index e012b8f766..f0962404c4 100644 --- a/swift/container/updater.py +++ b/swift/container/updater.py @@ -18,6 +18,7 @@ import os import signal import sys import time +from gettext import gettext as _ from random import random, shuffle from tempfile import mkstemp diff --git a/swift/obj/auditor.py b/swift/obj/auditor.py index 7a1ed9bb1c..de17ea3808 100644 --- a/swift/obj/auditor.py +++ b/swift/obj/auditor.py @@ -15,6 +15,7 @@ import os import time +from gettext import gettext as _ from eventlet import Timeout diff --git a/swift/obj/base.py b/swift/obj/base.py index b41511c9b5..d3ffc85e4a 100644 --- a/swift/obj/base.py +++ b/swift/obj/base.py @@ -22,6 +22,7 @@ import logging import os import time import uuid +from gettext import gettext as _ from os.path import basename, dirname, join from swift.common.exceptions import PathNotDir diff --git a/swift/obj/diskfile.py b/swift/obj/diskfile.py index b40f250831..2ae3dd654b 100644 --- a/swift/obj/diskfile.py +++ b/swift/obj/diskfile.py @@ -21,6 +21,7 @@ import errno import os import time import traceback +from gettext import gettext as _ from hashlib import md5 from tempfile import mkstemp from contextlib import contextmanager diff --git a/swift/obj/expirer.py b/swift/obj/expirer.py index 6607ee5442..959d9ba092 100644 --- a/swift/obj/expirer.py +++ b/swift/obj/expirer.py @@ -17,6 +17,7 @@ import urllib from random import random from time import time from os.path import join +from gettext import gettext as _ import hashlib from eventlet import sleep, Timeout diff --git a/swift/obj/replicator.py b/swift/obj/replicator.py index 21d59d0822..ddf2cdd43e 100644 --- a/swift/obj/replicator.py +++ b/swift/obj/replicator.py @@ -20,6 +20,7 @@ import shutil import time import itertools import cPickle as pickle +from gettext import gettext as _ import eventlet from eventlet import GreenPool, tpool, Timeout, sleep, hubs diff --git a/swift/obj/server.py b/swift/obj/server.py index 37511bc090..fdff2098d1 100644 --- a/swift/obj/server.py +++ b/swift/obj/server.py @@ -22,6 +22,7 @@ import time import traceback from collections import defaultdict from datetime import datetime +from gettext import gettext as _ from hashlib import md5 from urllib import unquote diff --git a/swift/obj/updater.py b/swift/obj/updater.py index 5fad8754c2..97c6a2c3c8 100644 --- a/swift/obj/updater.py +++ b/swift/obj/updater.py @@ -18,6 +18,7 @@ import os import signal import sys import time +from gettext import gettext as _ from random import random from eventlet import patcher, Timeout diff --git a/swift/proxy/controllers/account.py b/swift/proxy/controllers/account.py index e6e90d66ee..7a312dc086 100644 --- a/swift/proxy/controllers/account.py +++ b/swift/proxy/controllers/account.py @@ -24,6 +24,7 @@ # These shenanigans are to ensure all related objects can be garbage # collected. We've seen objects hang around forever otherwise. +from gettext import gettext as _ from urllib import unquote from swift.account.utils import account_listing_response, \ diff --git a/swift/proxy/controllers/base.py b/swift/proxy/controllers/base.py index 361b0cc532..8973fea22f 100644 --- a/swift/proxy/controllers/base.py +++ b/swift/proxy/controllers/base.py @@ -29,6 +29,7 @@ import time import functools import inspect import itertools +from gettext import gettext as _ from urllib import quote from eventlet import spawn_n, GreenPile @@ -219,7 +220,7 @@ def get_container_info(env, app, swift_source=None): Note: This call bypasses auth. Success does not imply that the request has authorization to the account. """ - (version, account, container, _) = \ + (version, account, container, unused) = \ split_path(env['PATH_INFO'], 3, 4, True) info = get_info(app, env, account, container, ret_not_found=True) if not info: diff --git a/swift/proxy/controllers/container.py b/swift/proxy/controllers/container.py index 1f04273968..cf0a615af3 100644 --- a/swift/proxy/controllers/container.py +++ b/swift/proxy/controllers/container.py @@ -24,6 +24,7 @@ # These shenanigans are to ensure all related objects can be garbage # collected. We've seen objects hang around forever otherwise. +from gettext import gettext as _ from urllib import unquote from swift.common.utils import public, csv_append diff --git a/swift/proxy/controllers/obj.py b/swift/proxy/controllers/obj.py index 306f8cb304..9cc30caf2e 100644 --- a/swift/proxy/controllers/obj.py +++ b/swift/proxy/controllers/obj.py @@ -29,6 +29,7 @@ import mimetypes import re import time from datetime import datetime +from gettext import gettext as _ from urllib import unquote, quote from hashlib import md5 diff --git a/swift/proxy/server.py b/swift/proxy/server.py index ba920378d0..b2fefcd1c6 100644 --- a/swift/proxy/server.py +++ b/swift/proxy/server.py @@ -27,6 +27,7 @@ import mimetypes import os from ConfigParser import ConfigParser +from gettext import gettext as _ from random import shuffle from time import time diff --git a/tox.ini b/tox.ini index afe2377c72..3dfdf78940 100644 --- a/tox.ini +++ b/tox.ini @@ -29,6 +29,5 @@ commands = {posargs} [flake8] ignore = H203,H301,H302,H306,H402,H404,H702,H703 -builtins = _ exclude = .venv,.tox,dist,doc,test,*egg show-source = True