Use config files properly inside virtualenv
authorAlexander Kanevskiy <alexander.kanevskiy@intel.com>
Tue, 13 Aug 2013 13:01:07 +0000 (16:01 +0300)
committerAlexander Kanevskiy <alexander.kanevskiy@intel.com>
Tue, 13 Aug 2013 13:01:07 +0000 (16:01 +0300)
gerrithooks/misc.py
setup.py

index 967cf86cf80c5ae84a031d94442f805251dbc732..b74d313d03d9241aa4f57cbb819b3a8d51e91fbf 100644 (file)
@@ -26,6 +26,7 @@ import pwd
 import logging
 import logging.config
 
+from pkg_resources import resource_filename
 
 def daemonize(stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'):
     """Daemonize process"""
@@ -138,6 +139,10 @@ def find_config(name, dirs=None, subdir=None):
         confpath = os.path.join(dirname, name)
         if os.access(confpath, os.R_OK):
             return confpath
+    if os.getenv('VIRTUAL_ENV'):
+        resource_conf = resource_filename(__package__, name)
+        if resource_conf and os.access(resource_conf, os.R_OK):
+            return resource_conf
     return None
 
 def configure_logging(appname):
index bed5e73de69331c8cae63d76485295b51a6b93dc..736fe8b30315e608acb5c40716b9d99a0687bd20 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -18,27 +18,31 @@ setup (
     description = "Collection of useful hooks for Gerrit",
     long_description = README,
     # url = "http://",
-    include_package_data=True,
-    data_files=[("/etc/gerrit-hooks", ["gerrit-hooks.conf", "gerrit-hooks-log.conf"])],
+    include_package_data = True,
+    zip_safe = [True, False][bool(os.getenv('VIRTUAL_ENV'))],
+    data_files = [
+        (['/etc/gerrit-hooks', 'gerrithooks'][bool(os.getenv('VIRTUAL_ENV'))],
+                ["gerrit-hooks.conf", "gerrit-hooks-log.conf"])
+        ],
     author = "Alexander Kanevskiy",
     author_email = "alexander.kanevskiy@intel.com",
     keywords = "gerrit hooks",
     platforms="Python 2.7",
     entry_points={
-          'console_scripts': [
-                    'gerrit-change-abandoned = gerrithooks.change_abandoned:main',
-                    'gerrit-change-merged = gerrithooks.change_merged:main',
-                    'gerrit-change-restored = gerrithooks.change_restored:main',
-                    'gerrit-cla-signed = gerrithooks.cla_signed:main',
-                    'gerrit-comment-added = gerrithooks.comment_added:main',
-                    'gerrit-draft-published = gerrithooks.draft_published:main',
-                    'gerrit-merge-failed = gerrithooks.merge_failed:main',
-                    'gerrit-patchset-created = gerrithooks.patchset_created:main',
-                    'gerrit-ref-update = gerrithooks.ref_update:main',
-                    'gerrit-ref-updated = gerrithooks.ref_updated:main',
-                    'gerrit-reviewer-added = gerrithooks.reviewer_added:main'
-                ]
-          },
+            'console_scripts': [
+                'gerrit-change-abandoned = gerrithooks.change_abandoned:main',
+                'gerrit-change-merged = gerrithooks.change_merged:main',
+                'gerrit-change-restored = gerrithooks.change_restored:main',
+                'gerrit-cla-signed = gerrithooks.cla_signed:main',
+                'gerrit-comment-added = gerrithooks.comment_added:main',
+                'gerrit-draft-published = gerrithooks.draft_published:main',
+                'gerrit-merge-failed = gerrithooks.merge_failed:main',
+                'gerrit-patchset-created = gerrithooks.patchset_created:main',
+                'gerrit-ref-update = gerrithooks.ref_update:main',
+                'gerrit-ref-updated = gerrithooks.ref_updated:main',
+                'gerrit-reviewer-added = gerrithooks.reviewer_added:main'
+            ]
+        },
     classifiers=[
         "Development Status :: 3 - Alpha",
         "Environment :: Console",