Update matrix client update() usage
This commit is contained in:
		
							
								
								
									
										3
									
								
								TODO.md
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								TODO.md
									
									
									
									
									
								
							@@ -2,8 +2,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Media
 | 
					## Media
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Pause raise error
 | 
				
			||||||
- Send the monitor PR
 | 
					- Send the monitor PR
 | 
				
			||||||
- Pause tests
 | 
					- nio ClientTimeout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Handle set avatar upload errors
 | 
					- Handle set avatar upload errors
 | 
				
			||||||
- Support encrypted m.file
 | 
					- Support encrypted m.file
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -257,7 +257,9 @@ class MatrixClient(nio.AsyncClient):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            url, mime, crypt_dict = await self.upload(
 | 
					            url, mime, crypt_dict = await self.upload(
 | 
				
			||||||
                path, filename=path.name, encrypt=encrypt, monitor=monitor,
 | 
					                lambda *_: path,
 | 
				
			||||||
 | 
					                filename = path.name,
 | 
				
			||||||
 | 
					                encrypt  = encrypt, monitor=monitor,
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        except (MatrixError, OSError) as err:
 | 
					        except (MatrixError, OSError) as err:
 | 
				
			||||||
            upload_item.status     = UploadStatus.Error
 | 
					            upload_item.status     = UploadStatus.Error
 | 
				
			||||||
@@ -319,7 +321,7 @@ class MatrixClient(nio.AsyncClient):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                try:
 | 
					                try:
 | 
				
			||||||
                    thumb_url, _, thumb_crypt_dict = await self.upload(
 | 
					                    thumb_url, _, thumb_crypt_dict = await self.upload(
 | 
				
			||||||
                        thumb_data,
 | 
					                        lambda *_: thumb_data,
 | 
				
			||||||
                        filename =
 | 
					                        filename =
 | 
				
			||||||
                            f"{path.stem}_sample{''.join(path.suffixes)}",
 | 
					                            f"{path.stem}_sample{''.join(path.suffixes)}",
 | 
				
			||||||
                        encrypt  = encrypt,
 | 
					                        encrypt  = encrypt,
 | 
				
			||||||
@@ -668,17 +670,17 @@ class MatrixClient(nio.AsyncClient):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    async def upload(
 | 
					    async def upload(
 | 
				
			||||||
        self,
 | 
					        self,
 | 
				
			||||||
        data:     UploadData,
 | 
					        data_provider: nio.DataProvider,
 | 
				
			||||||
        mime:          Optional[str]                 = None,
 | 
					        mime:          Optional[str]                 = None,
 | 
				
			||||||
        filename:      Optional[str]                 = None,
 | 
					        filename:      Optional[str]                 = None,
 | 
				
			||||||
        encrypt:       bool                          = False,
 | 
					        encrypt:       bool                          = False,
 | 
				
			||||||
        monitor:       Optional[nio.TransferMonitor] = None,
 | 
					        monitor:       Optional[nio.TransferMonitor] = None,
 | 
				
			||||||
    ) -> UploadReturn:
 | 
					    ) -> UploadReturn:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mime = mime or await utils.guess_mime(data)
 | 
					        mime = mime or await utils.guess_mime(data_provider(0, 0))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response, decryption_dict = await super().upload(
 | 
					        response, decryption_dict = await super().upload(
 | 
				
			||||||
            data,
 | 
					            data_provider,
 | 
				
			||||||
            "application/octet-stream" if encrypt else mime,
 | 
					            "application/octet-stream" if encrypt else mime,
 | 
				
			||||||
            filename,
 | 
					            filename,
 | 
				
			||||||
            encrypt,
 | 
					            encrypt,
 | 
				
			||||||
@@ -697,7 +699,7 @@ class MatrixClient(nio.AsyncClient):
 | 
				
			|||||||
        if mime.split("/")[0] != "image":
 | 
					        if mime.split("/")[0] != "image":
 | 
				
			||||||
            raise BadMimeType(wanted="image/*", got=mime)
 | 
					            raise BadMimeType(wanted="image/*", got=mime)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mxc, *_ = await self.upload(path, mime, Path(path).name)
 | 
					        mxc, *_ = await self.upload(lambda *_: path, mime, Path(path).name)
 | 
				
			||||||
        await self.set_avatar(mxc)
 | 
					        await self.set_avatar(mxc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user