__setuptools_hack__.py
branchstable
changeset 6504 88b3172eb7c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/__setuptools_hack__.py	Fri Oct 15 11:39:54 2010 +0200
@@ -0,0 +1,30 @@
+from os import path as osp
+import sys
+import os
+
+def in_egg(path):
+    head, tail = osp.split(path)
+    while tail:
+        if tail.endswith('.egg'):
+            return True
+        head, tail = osp.split(head)
+    return False
+
+if in_egg(__file__):
+    from cubicweb.cwconfig import _find_prefix
+    INSTALL_PREFIX = _find_prefix()
+    if not osp.exists(osp.join(INSTALL_PREFIX, 'share', 'cubicweb', 'migration')):
+        print >> sys.stderr, 'copying cubicweb content to the expected location'
+        from shutil import copytree
+        import tarfile
+        import tempfile
+        from pkg_resources import Requirement, resource_filename
+        from functools import partial
+        file_path = partial(resource_filename, Requirement.parse("cubicweb"))
+        for df in ('share', 'lib'):
+            # Tar are used to merge with destination directory
+            tmp_file = tempfile.NamedTemporaryFile(suffix='.tar')
+            tmp_tar  = tarfile.TarFile(tmp_file.name, mode='w')
+            tmp_tar.add(file_path(df), arcname=df)
+            tmp_tar  = tarfile.TarFile(tmp_file.name, mode='r')
+            tmp_tar.extractall(path=INSTALL_PREFIX)