def vcs_repo(self, version=LATEST, environment=None, verbose_name=None, version_type=None): """ Return a Backend object for this project able to handle VCS commands. :param environment: environment to run the commands :type environment: doc_builder.environments.BuildEnvironment :param version: version slug for the backend (``LATEST`` by default) :type version: str """ # TODO: this seems to be the only method that receives a # ``version.slug`` instead of a ``Version`` instance (I prefer an # instance here) backend = backend_cls.get(self.repo_type) if not backend: repo = None else: repo = backend(self, version, environment=environment, verbose_name=verbose_name, version_type=version_type) return repo
def vcs_repo(self, version=LATEST): backend = backend_cls.get(self.repo_type) if not backend: repo = None else: proj = VCSProject(self.name, self.default_branch, self.checkout_path(version), self.clean_repo) repo = backend(proj, version) return repo
def vcs_repo(self, version='latest'): #if hasattr(self, '_vcs_repo'): #return self._vcs_repo backend = backend_cls.get(self.repo_type) if not backend: repo = None else: proj = VCSProject(self.name, self.default_branch, self.checkout_path(version), self.repo) repo = backend(proj, version) #self._vcs_repo = repo return repo
def vcs_repo(self, version=LATEST): backend = backend_cls.get(self.repo_type) if not backend: repo = None else: proj = VCSProject(self.name, self.default_branch, self.checkout_path(version), self.clean_repo) from readthedocs.oauth.services import GitHubService token = None if "github" in self.repo.lower(): token = GitHubService.get_token_for_project(self) repo = backend(proj, version, token=token) # repo = backend(proj, version) return repo
def vcs_repo(self, version=LATEST, environment=None): """ Return a Backend object for this project able to handle VCS commands. :param environment: environment to run the commands :type environment: doc_builder.environments.BuildEnvironment :param version: version slug for the backend (``LATEST`` by default) :type version: str """ # TODO: this seems to be the only method that receives a # ``version.slug`` instead of a ``Version`` instance (I prefer an # instance here) backend = backend_cls.get(self.repo_type) if not backend: repo = None else: repo = backend(self, version, environment) return repo
def vcs_repo(self, version=LATEST, environment=None): """ Return a Backend object for this project able to handle VCS commands. :param environment: environment to run the commands :type environment: doc_builder.environments.BuildEnvironment :param version: version slug for the backend (``LATEST`` by default) :type version: str """ # TODO: this seems to be the only method that receives a # ``version.slug`` instead of a ``Version`` instance (I prefer an # instance here) from readthedocs.oauth.services import GitHubService backend = backend_cls.get(self.repo_type) if not backend: repo = None else: token = None if 'github' in self.repo.lower(): token = GitHubService.get_token_for_project(self) repo = backend(self, version, environment, token=token) # repo = backend(self, version, environment) return repo
def comparable_version(version_string, repo_type=None): """ Can be used as ``key`` argument to ``sorted``. The ``LATEST`` version shall always beat other versions in comparison. ``STABLE`` should be listed second. If we cannot figure out the version number then we sort it to the bottom of the list. If `repo_type` is given, it adds the default "master" version from the VCS (master, default, trunk). This version is sorted higher than LATEST and STABLE. :param version_string: version as string object (e.g. '3.10.1' or 'latest') :type version_string: str or unicode :param repo_type: Repository type from which the versions are generated. :returns: a comparable version object (e.g. 'latest' -> Version('99999.0')) :rtype: packaging.version.Version """ highest_versions = [] if repo_type: backend = backend_cls.get(repo_type) if backend and backend.fallback_branch: highest_versions.append(backend.fallback_branch) highest_versions.extend([LATEST_VERBOSE_NAME, STABLE_VERBOSE_NAME]) comparable = parse_version_failsafe(version_string) if not comparable: if version_string in highest_versions: position = highest_versions.index(version_string) version_number = str(999999 - position) comparable = Version(version_number) else: comparable = Version('0.01') return comparable