def get_gitlab_url( self, docroot, filename, source_suffix='.rst', action='view'): repo_url = self.project.repo if 'gitlab' not in repo_url: return '' if not docroot: return '' else: if docroot[0] != '/': docroot = '/{}'.format(docroot) if docroot[-1] != '/': docroot = '{}/'.format(docroot) if action == 'view': action_string = 'blob' elif action == 'edit': action_string = 'edit' user, repo = get_gitlab_username_repo(repo_url) if not user and not repo: return '' repo = repo.rstrip('/') return GITLAB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_gitlab_url( self, docroot, filename, source_suffix='.rst', action='view', ): repo_url = self.project.repo if 'gitlab' not in repo_url: return '' if not docroot: return '' # Normalize /docroot/ docroot = '/' + docroot.strip('/') + '/' if action == 'view': action_string = 'blob' elif action == 'edit': action_string = 'edit' user, repo = get_gitlab_username_repo(repo_url) if not user and not repo: return '' repo = repo.rstrip('/') if not filename: # If there isn't a filename, we don't need a suffix source_suffix = '' return GITLAB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_gitlab_url(self, docroot, filename, source_suffix='.rst', action='view'): repo_url = self.project.repo if 'gitlab' not in repo_url: return '' if not docroot: return '' else: if docroot[0] != '/': docroot = '/{}'.format(docroot) if docroot[-1] != '/': docroot = '{}/'.format(docroot) if action == 'view': action_string = 'blob' elif action == 'edit': action_string = 'edit' for regex in GITLAB_REGEXS: match = regex.search(repo_url) if match: user, repo = match.groups() break else: return '' repo = repo.rstrip('/') return GITLAB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_gitlab_url( self, docroot, filename, source_suffix='.rst', action='view'): repo_url = self.project.repo if 'gitlab' not in repo_url: return '' if not docroot: return '' else: if docroot[0] != '/': docroot = '/{}'.format(docroot) if docroot[-1] != '/': docroot = '{}/'.format(docroot) if action == 'view': action_string = 'blob' elif action == 'edit': action_string = 'edit' for regex in GITLAB_REGEXS: match = regex.search(repo_url) if match: user, repo = match.groups() break else: return '' repo = repo.rstrip('/') return GITLAB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )