40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
diff -Naur quantum-2012.1.orig/quantum/__init__.py quantum-2012.1/quantum/__init__.py
|
|
--- quantum-2012.1.orig/quantum/__init__.py 2012-04-25 12:30:18.110482493 +0000
|
|
+++ quantum-2012.1/quantum/__init__.py 2012-04-25 12:31:34.397515453 +0000
|
|
@@ -15,5 +15,35 @@
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
+import sys
|
|
+import pkg_resources
|
|
+
|
|
+# If there is a conflicting non egg module,
|
|
+# i.e. an older standard system module installed,
|
|
+# then replace it with this requirement
|
|
+def replace_dist(requirement):
|
|
+ try:
|
|
+ return pkg_resources.require(requirement)
|
|
+ except pkg_resources.VersionConflict:
|
|
+ e = sys.exc_info()[1]
|
|
+ dist=e.args[0]
|
|
+ req=e.args[1]
|
|
+ if dist.key == req.key and not dist.location.endswith('.egg'):
|
|
+ del pkg_resources.working_set.by_key[dist.key]
|
|
+ # We assume there is no need to adjust sys.path
|
|
+ # and the associated pkg_resources.working_set.entries
|
|
+ return pkg_resources.require(requirement)
|
|
+
|
|
+replace_dist("WebOb >= 1.0")
|
|
+replace_dist("SQLAlchemy >= 0.6.3")
|
|
+replace_dist("Routes >= 1.12.3")
|
|
+
|
|
+replace_dist("PasteDeploy >= 1.5.0")
|
|
+# This hack is needed because replace_dist() results in
|
|
+# the standard paste module path being at the start of __path__.
|
|
+# TODO: See can we get pkg_resources to do the right thing directly
|
|
+import paste
|
|
+paste.__path__.insert(0, paste.__path__.pop(-1))
|
|
+
|
|
from pkgutil import extend_path
|
|
__path__ = extend_path(__path__, __name__)
|