From 618ada130d9288cd357f6ec223ed89b4d947f807 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 20 2016 06:36:40 +0000 Subject: [PATCH 1/3] Allow specifying the root folder to pagure.lib.git.get_repo_namespace This allows specifying a different root folder for projects, tickets and requests. Fixes https://pagure.io/pagure/issue/1321 --- diff --git a/pagure/hooks/files/pagure_hook_requests.py b/pagure/hooks/files/pagure_hook_requests.py index 88c4613..f2cd573 100755 --- a/pagure/hooks/files/pagure_hook_requests.py +++ b/pagure/hooks/files/pagure_hook_requests.py @@ -67,7 +67,8 @@ 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) + namespace = pagure.lib.git.get_repo_namespace( + abspath, gitfolder = pagure.APP.config['REQUESTS_FOLDER']) print 'repo:', reponame, username, namespace for filename in file_list: diff --git a/pagure/hooks/files/pagure_hook_tickets.py b/pagure/hooks/files/pagure_hook_tickets.py index 2f4cb93..5b1a9d0 100755 --- a/pagure/hooks/files/pagure_hook_tickets.py +++ b/pagure/hooks/files/pagure_hook_tickets.py @@ -72,7 +72,8 @@ 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) + namespace = pagure.lib.git.get_repo_namespace( + abspath, gitfolder = pagure.APP.config['TICKETS_FOLDER']) print 'repo:', reponame, username, namespace for filename in file_list: diff --git a/pagure/lib/git.py b/pagure/lib/git.py index ec06296..4435e6a 100644 --- a/pagure/lib/git.py +++ b/pagure/lib/git.py @@ -924,15 +924,15 @@ def get_repo_name(abspath): return repo_name -def get_repo_namespace(abspath): +def get_repo_namespace(abspath, gitfolder=None): ''' Return the name of the git repo based on its path. ''' namespace = None + if not gitfolder: + gitfolder = pagure.APP.config['GIT_FOLDER'] short_path = os.path.abspath(abspath).replace( - os.path.abspath(pagure.APP.config['GIT_FOLDER']), - '' - ).strip('/') + os.path.abspath(gitfolder), '').strip('/') if short_path.startswith('forks/'): username, projectname = short_path.split('forks/', 1)[1].split('/', 1) From bd1a5ad8bd5e3101456b5e277160eb3d2de14ea8 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 20 2016 07:29:59 +0000 Subject: [PATCH 2/3] Fix invalid indentation pointed out by @vivekanand1101 --- diff --git a/pagure/hooks/files/pagure_hook_requests.py b/pagure/hooks/files/pagure_hook_requests.py index f2cd573..2d703e1 100755 --- a/pagure/hooks/files/pagure_hook_requests.py +++ b/pagure/hooks/files/pagure_hook_requests.py @@ -67,7 +67,7 @@ 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( + namespace = pagure.lib.git.get_repo_namespace( abspath, gitfolder = pagure.APP.config['REQUESTS_FOLDER']) print 'repo:', reponame, username, namespace From 193a96ca572f03cefa1743babfe0804845290c90 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 20 2016 08:31:29 +0000 Subject: [PATCH 3/3] Small pep8 fix pointed out by @vivekanand1101 --- diff --git a/pagure/hooks/files/pagure_hook_requests.py b/pagure/hooks/files/pagure_hook_requests.py index 2d703e1..107b0e7 100755 --- a/pagure/hooks/files/pagure_hook_requests.py +++ b/pagure/hooks/files/pagure_hook_requests.py @@ -68,7 +68,7 @@ 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, gitfolder = pagure.APP.config['REQUESTS_FOLDER']) + abspath, gitfolder=pagure.APP.config['REQUESTS_FOLDER']) print 'repo:', reponame, username, namespace for filename in file_list: diff --git a/pagure/hooks/files/pagure_hook_tickets.py b/pagure/hooks/files/pagure_hook_tickets.py index 5b1a9d0..18847db 100755 --- a/pagure/hooks/files/pagure_hook_tickets.py +++ b/pagure/hooks/files/pagure_hook_tickets.py @@ -73,7 +73,7 @@ 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, gitfolder = pagure.APP.config['TICKETS_FOLDER']) + abspath, gitfolder=pagure.APP.config['TICKETS_FOLDER']) print 'repo:', reponame, username, namespace for filename in file_list: