def _folder_metadata(self, path, raw=False): query = self._build_query(path.identifier) resp = yield from self.make_request( "GET", self.build_url("files", q=query, alt="json"), expects=(200,), throws=exceptions.MetadataError ) data = yield from resp.json() return [self._serialize_item(path.child(item["title"]), item, raw=raw) for item in data["items"]]
async def _folder_metadata(self, path, raw=False): query = self._build_query(path.identifier) async with self.request( 'GET', self.build_url('files', q=query, alt='json', maxResults=1000), expects=(200, ), throws=exceptions.MetadataError, ) as resp: return [ self._serialize_item(path.child(item['title']), item, raw=raw) for item in (await resp.json())['items'] ]
def _folder_metadata(self, path, raw=False): query = self._build_query(path.identifier) resp = yield from self.make_request( 'GET', self.build_url('files', q=query, alt='json'), expects=(200, ), throws=exceptions.MetadataError, ) data = yield from resp.json() return [ self._serialize_item(path.child(item['title']), item, raw=raw) for item in data['items'] ]
async def _folder_metadata(self, path, raw=False): query = self._build_query(path.identifier) built_url = self.build_url('files', q=query, alt='json', maxResults=1000) full_resp = [] while built_url: async with self.request( 'GET', built_url, expects=(200, ), throws=exceptions.MetadataError, ) as resp: resp_json = await resp.json() full_resp.extend([ self._serialize_item(path.child(item['title']), item, raw=raw) for item in resp_json['items'] ]) built_url = resp_json.get('nextLink', None) return full_resp
async def create_folder(self, path, branch=None, message=None, **kwargs): GitHubPath.validate_folder(path) assert self.name is not None assert self.email is not None message = message or settings.UPLOAD_FILE_MESSAGE keep_path = path.child('.gitkeep') data = { 'content': '', 'path': keep_path.path, 'committer': self.committer, 'branch': path.identifier[0], 'message': message or settings.UPLOAD_FILE_MESSAGE } resp = await self.make_request('PUT', self.build_repo_url( 'contents', keep_path.path), data=json.dumps(data), expects=(201, 422, 409), throws=exceptions.CreateFolderError) data = await resp.json() if resp.status in (422, 409): if resp.status == 409 or data.get( 'message' ) == 'Invalid request.\n\n"sha" wasn\'t supplied.': raise exceptions.FolderNamingConflict(str(path)) raise exceptions.CreateFolderError(data, code=resp.status) data['content']['name'] = path.name data['content']['path'] = data['content']['path'].replace( '.gitkeep', '') return GitHubFolderContentMetadata(data['content'], commit=data['commit'])
async def create_folder(self, path, branch=None, message=None, **kwargs): GitHubPath.validate_folder(path) assert self.name is not None assert self.email is not None message = message or settings.UPLOAD_FILE_MESSAGE keep_path = path.child('.gitkeep') data = { 'content': '', 'path': keep_path.path, 'committer': self.committer, 'branch': path.identifier[0], 'message': message or settings.UPLOAD_FILE_MESSAGE } resp = await self.make_request( 'PUT', self.build_repo_url('contents', keep_path.path), data=json.dumps(data), expects=(201, 422, 409), throws=exceptions.CreateFolderError ) data = await resp.json() if resp.status in (422, 409): if resp.status == 409 or data.get('message') == 'Invalid request.\n\n"sha" wasn\'t supplied.': raise exceptions.FolderNamingConflict(str(path)) raise exceptions.CreateFolderError(data, code=resp.status) data['content']['name'] = path.name data['content']['path'] = data['content']['path'].replace('.gitkeep', '') return GitHubFolderContentMetadata(data['content'], commit=data['commit'])
def create_folder(self, path, branch=None, message=None, **kwargs): GitHubPath.validate_folder(path) assert self.name is not None assert self.email is not None message = message or settings.UPLOAD_FILE_MESSAGE keep_path = path.child(".gitkeep") data = { "content": "", "path": keep_path.path, "committer": self.committer, "branch": path.identifier[0], "message": message or settings.UPLOAD_FILE_MESSAGE, } resp = yield from self.make_request( "PUT", self.build_repo_url("contents", keep_path.path), data=json.dumps(data), expects=(201, 422, 409), throws=exceptions.CreateFolderError, ) data = yield from resp.json() if resp.status in (422, 409): if resp.status == 409 or data.get("message") == 'Invalid request.\n\n"sha" wasn\'t supplied.': raise exceptions.FolderNamingConflict(str(path)) raise exceptions.CreateFolderError(data, code=resp.status) data["content"]["name"] = path.name data["content"]["path"] = data["content"]["path"].replace(".gitkeep", "") return GitHubFolderContentMetadata(data["content"], commit=data["commit"])