From 202f52dca5a22e3d7720eabc1a7eea78d297860d Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Feb 19 2018 12:51:21 +0000 Subject: Make it possible for the webapp to write in the repos This is needed when one wants to enable a hook. Signed-off-by: Clement Verna --- diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml index 90806ab..44c3a0f 100644 --- a/dev/docker-compose.yml +++ b/dev/docker-compose.yml @@ -16,7 +16,7 @@ services: - type: volume source: ../lcl/repos target: /repos - read_only: true + read_only: false - type: volume source: ../lcl/attachments target: /attachments diff --git a/pagure/hooks/files/rtd_hook.py b/pagure/hooks/files/rtd_hook.py index af56541..c2514cd 100755 --- a/pagure/hooks/files/rtd_hook.py +++ b/pagure/hooks/files/rtd_hook.py @@ -25,21 +25,22 @@ import pagure.lib.plugins # noqa: E402 _config = pagure.config.config abspath = os.path.abspath(os.environ['GIT_DIR']) -SESSION = pagure.lib.create_session(_config['DB_URL']) def run_as_post_receive_hook(): reponame = pagure.lib.git.get_repo_name(abspath) username = pagure.lib.git.get_username(abspath) namespace = pagure.lib.git.get_repo_namespace(abspath) + session = pagure.lib.create_session(_config['DB_URL']) if _config.get('HOOK_DEBUG', False): print('repo: ', reponame) print('user: ', username) print('namespace:', namespace) repo = pagure.lib.get_authorized_project( - SESSION, reponame, user=username, namespace=namespace) + session, reponame, user=username, namespace=namespace) if not repo: print('Unknown repo %s of username: %s' % (reponame, username)) + session.close() sys.exit(1) hook = pagure.lib.plugins.get_plugin('Read the Doc') @@ -77,6 +78,8 @@ def run_as_post_receive_hook(): repo.rtd_hook.project_name.strip())) requests.post(url) + session.close() + def main(args): run_as_post_receive_hook()