From a82ce59a52fea8b04944ef0b04fcb6d9da806698 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 1 Oct 2018 15:16:35 +1300 Subject: [PATCH] Auto-determine web/file/tree/commit URLs for gitlab.com I've come across at least one layer that is now hosted on gitlab.com, so add support in the layer submission/edit form and import_layer.py for automatically determining the other fields for gitlab.com URLs. Signed-off-by: Paul Eggleton --- layerindex/tools/import_layer.py | 7 +++++++ templates/layerindex/editlayer.html | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/layerindex/tools/import_layer.py b/layerindex/tools/import_layer.py index 60986e0..1869d91 100755 --- a/layerindex/tools/import_layer.py +++ b/layerindex/tools/import_layer.py @@ -49,6 +49,13 @@ def set_vcs_fields(layer, repoval): layer.vcs_web_tree_base_url = 'http://github.com/' + reponame + '/tree/%branch%/' layer.vcs_web_file_base_url = 'http://github.com/' + reponame + '/blob/%branch%/' layer.vcs_web_commit_url = 'http://github.com/' + reponame + '/commit/%hash%' + elif 'gitlab.com/' in repoval: + reponame = re.sub('^.*gitlab.com/', '', repoval) + reponame = re.sub('.git$', '', reponame) + layer.vcs_web_url = 'http://gitlab.com/' + reponame + layer.vcs_web_tree_base_url = 'http://gitlab.com/' + reponame + '/tree/%branch%/' + layer.vcs_web_file_base_url = 'http://gitlab.com/' + reponame + '/blob/%branch%/' + layer.vcs_web_commit_url = 'http://gitlab.com/' + reponame + '/commit/%hash%' elif 'bitbucket.org/' in repoval: reponame = re.sub('^.*bitbucket.org/', '', repoval) reponame = re.sub('.git$', '', reponame) diff --git a/templates/layerindex/editlayer.html b/templates/layerindex/editlayer.html index 4f0f978..c79d488 100644 --- a/templates/layerindex/editlayer.html +++ b/templates/layerindex/editlayer.html @@ -216,6 +216,15 @@ this.vcs_web_commit_url = 'http://github.com/' + reponame + '/commit/%hash%/' this.vcs_web_type = '(custom)' } + else if( repoval.indexOf('gitlab.com/') > -1 ) { + reponame = repoval.replace(/^.*gitlab.com\//, '') + reponame = reponame.replace(/.git$/, '') + this.vcs_web_url = 'http://gitlab.com/' + reponame + this.vcs_web_tree_base_url = 'http://gitlab.com/' + reponame + '/tree/%branch%/' + this.vcs_web_file_base_url = 'http://gitlab.com/' + reponame + '/blob/%branch%/' + this.vcs_web_commit_url = 'http://gitlab.com/' + reponame + '/commit/%hash%/' + this.vcs_web_type = '(custom)' + } else if( repoval.indexOf('bitbucket.org/') > -1 ) { reponame = repoval.replace(/^.*bitbucket.org\//, '') reponame = reponame.replace(/.git$/, '')