def get_github_url(self, docroot, filename, source_suffix='.rst', action='view'): """ Return a GitHub URL for a given filename. `docroot` Location of documentation in repository `filename` Name of file `source_suffix` File suffix of documentation format `action` `view` (default) or `edit` """ repo_url = self.project.repo if 'github' not in repo_url: return '' if not docroot: return '' else: if docroot[0] != '/': docroot = "/%s" % docroot if docroot[-1] != '/': docroot = "%s/" % docroot if action == 'view': action_string = 'blob' elif action == 'edit': action_string = 'edit' for regex in GITHUB_REGEXS: match = regex.search(repo_url) if match: user, repo = match.groups() break else: return '' repo = repo.rstrip('/') return GITHUB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_github_url( self, docroot, filename, source_suffix='.rst', action='view', ): """ Return a GitHub URL for a given filename. :param docroot: Location of documentation in repository :param filename: Name of file :param source_suffix: File suffix of documentation format :param action: `view` (default) or `edit` """ repo_url = self.project.repo if 'github' 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_github_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 GITHUB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_github_url(self, docroot, filename, source_suffix='.rst', action='view'): """ Return a GitHub URL for a given filename. :param docroot: Location of documentation in repository :param filename: Name of file :param source_suffix: File suffix of documentation format :param action: `view` (default) or `edit` """ repo_url = self.project.repo if 'github' not in repo_url: return '' if not docroot: return '' 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_github_username_repo(repo_url) if not user and not repo: return '' repo = repo.rstrip('/') return GITHUB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_github_url( self, docroot, filename, source_suffix='.rst', action='view'): """ Return a GitHub URL for a given filename. :param docroot: Location of documentation in repository :param filename: Name of file :param source_suffix: File suffix of documentation format :param action: `view` (default) or `edit` """ repo_url = self.project.repo if 'github' 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_github_username_repo(repo_url) if not user and not repo: return '' repo = repo.rstrip('/') return GITHUB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_github_url(self, docroot, filename, source_suffix='.rst', action='view'): repo_url = self.project.repo if 'github' not in repo_url: return '' if not docroot: return '' else: if docroot[0] != '/': docroot = "/%s" % docroot if docroot[-1] != '/': docroot = "%s/" % docroot if action == 'view': action_string = 'blob' elif action == 'edit': action_string = 'edit' for regex in GITHUB_REGEXS: match = regex.search(repo_url) if match: user, repo = match.groups() break else: return '' repo = repo.rstrip('/') return GITHUB_URL.format( user=user, repo=repo, version=self.commit_name, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )
def get_github_url(self, docroot, filename, source_suffix=".rst", action="view"): repo_url = self.project.repo if "github" not in repo_url: return "" if not docroot: return "" else: if docroot[0] != "/": docroot = "/%s" % docroot if docroot[-1] != "/": docroot = "%s/" % docroot if action == "view": action_string = "blob" elif action == "edit": action_string = "edit" for regex in GITHUB_REGEXS: match = regex.search(repo_url) if match: user, repo = match.groups() break else: return "" repo = repo.rstrip("/") return GITHUB_URL.format( user=user, repo=repo, version=self.remote_slug, docroot=docroot, path=filename, source_suffix=source_suffix, action=action_string, )