def _do_on_path(self, cb, path, revision=HEAD): if not path: raise FileNotFoundError(path, revision) try: normpath = self.normalize_path(path) # SVN expects to have URLs escaped. Take care to only # escape the path part of the URL. if self.client.is_url(normpath): pathtuple = urlsplit(normpath) path = pathtuple[2] if isinstance(path, six.text_type): path = path.encode("utf-8", "ignore") normpath = urlunsplit((pathtuple[0], pathtuple[1], quote(path), "", "")) normrev = self._normalize_revision(revision) return cb(normpath, normrev) except ClientError as e: exc = bytes(e).decode("utf-8") if "File not found" in exc or "path not found" in exc: raise FileNotFoundError(path, revision, detail=exc) elif "callback_ssl_server_trust_prompt required" in exc: raise SCMError( _( "HTTPS certificate not accepted. Please ensure that " "the proper certificate exists in %s " "for the user that reviewboard is running as." ) % os.path.join(self.config_dir, "auth") ) else: raise SVNTool.normalize_error(e)
def _do_on_path(self, cb, path, revision=HEAD): if not path: raise FileNotFoundError(path, revision) try: normpath = self.normalize_path(path) # SVN expects to have URLs escaped. Take care to only # escape the path part of the URL. if self.client.is_url(normpath): pathtuple = urlsplit(normpath) path = pathtuple[2] if isinstance(path, six.text_type): path = path.encode('utf-8', 'ignore') normpath = urlunsplit((pathtuple[0], pathtuple[1], quote(path), '', '')) normrev = self._normalize_revision(revision) return cb(normpath, normrev) except ClientError as e: exc = force_text(e) if 'File not found' in exc or 'path not found' in exc: raise FileNotFoundError(path, revision, detail=exc) elif 'callback_ssl_server_trust_prompt required' in exc: raise SCMError( _('HTTPS certificate not accepted. Please ensure that ' 'the proper certificate exists in %s ' 'for the user that reviewboard is running as.') % os.path.join(self.config_dir, 'auth')) else: raise SVNTool.normalize_error(e)
def repository_info(self): """Metadata about the repository. This is a dictionary containing the following keys: ``uuid`` (:py:class:`unicode`): The UUID of the repository. ``root_url`` (:py:class:`unicode`): The root URL of the configured repository. ``url`` (:py:class:`unicoe`): The full URL of the configured repository. """ try: base = os.path.basename(self.repopath) info = self.client.info(self.repopath, 'HEAD')[base] except SubversionException as e: raise SVNTool.normalize_error(e) return { 'uuid': force_text(info.repos_uuid), 'root_url': force_text(info.repos_root_url), 'url': force_text(info.url), }
def repository_info(self): """Returns metadata about the repository: * UUID * Root URL * URL """ try: info = self.client.info2(self.repopath, recurse=False) except ClientError as e: raise SVNTool.normalize_error(e) return {"uuid": info[0][1].repos_UUID, "root_url": info[0][1].repos_root_URL, "url": info[0][1].URL}
def repository_info(self): """Returns metadata about the repository: * UUID * Root URL * URL """ try: base = os.path.basename(self.repopath) info = self.client.info(self.repopath, "HEAD")[base] except SubversionException as e: raise SVNTool.normalize_error(e) return {"uuid": info.repos_uuid, "root_url": info.repos_root_url, "url": info.url}
def repository_info(self): """Returns metadata about the repository: * UUID * Root URL * URL """ try: info = self.client.info2(self.repopath, recurse=False) except ClientError as e: raise SVNTool.normalize_error(e) return { 'uuid': info[0][1].repos_UUID, 'root_url': info[0][1].repos_root_URL, 'url': info[0][1].URL }
def repository_info(self): """Returns metadata about the repository: * UUID * Root URL * URL """ try: base = os.path.basename(self.repopath) info = self.client.info(self.repopath, 'HEAD')[base] except SubversionException as e: raise SVNTool.normalize_error(e) return { 'uuid': info.repos_uuid, 'root_url': info.repos_root_url, 'url': info.url }
def _do_on_path(self, cb, path, revision=HEAD): if not path: raise FileNotFoundError(path, revision) try: normpath = self.normalize_path(path) normrev = self._normalize_revision(revision) return cb(normpath, normrev) except ClientError as e: exc = force_text(e) if 'File not found' in exc or 'path not found' in exc: raise FileNotFoundError(path, revision, detail=exc) elif 'callback_ssl_server_trust_prompt required' in exc: raise SCMError( _('HTTPS certificate not accepted. Please ensure that ' 'the proper certificate exists in %s ' 'for the user that reviewboard is running as.') % os.path.join(self.config_dir, 'auth')) else: raise SVNTool.normalize_error(e)
def repository_info(self): """Metadata about the repository. This is a dictionary containing the following keys: ``uuid`` (:py:class:`unicode`): The UUID of the repository. ``root_url`` (:py:class:`unicode`): The root URL of the configured repository. ``url`` (:py:class:`unicoe`): The full URL of the configured repository. """ try: info = self.client.info2(self.repopath, recurse=False) except ClientError as e: raise SVNTool.normalize_error(e) return { 'uuid': info[0][1].repos_UUID, 'root_url': info[0][1].repos_root_URL, 'url': info[0][1].URL }