mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 07:42:11 +01:00 
			
		
		
		
	Don't re-upload a new avatar every time
This commit is contained in:
		@@ -22,14 +22,16 @@ class Command(BaseCommand):
 | 
			
		||||
            avatar_uri = "plop"
 | 
			
		||||
        else:  # pragma: no cover
 | 
			
		||||
            if not os.path.isfile(".matrix_avatar"):
 | 
			
		||||
                stat_file = os.stat("tfjm/static/logo.png")
 | 
			
		||||
                with open("tfjm/static/logo.png", "rb") as f:
 | 
			
		||||
                    resp = Matrix.upload(f, filename="logo.png", content_type="image/png",
 | 
			
		||||
                                         filesize=stat_file.st_size)[0][0]
 | 
			
		||||
                avatar_uri = resp.content_uri
 | 
			
		||||
                with open(".matrix_avatar", "w") as f:
 | 
			
		||||
                    f.write(avatar_uri)
 | 
			
		||||
                Matrix.set_avatar(avatar_uri)
 | 
			
		||||
                avatar_uri = Matrix.get_avatar()
 | 
			
		||||
                if not isinstance(avatar_uri, str):
 | 
			
		||||
                    stat_file = os.stat("tfjm/static/logo.png")
 | 
			
		||||
                    with open("tfjm/static/logo.png", "rb") as f:
 | 
			
		||||
                        resp = Matrix.upload(f, filename="logo.png", content_type="image/png",
 | 
			
		||||
                                             filesize=stat_file.st_size)[0][0]
 | 
			
		||||
                    avatar_uri = resp.content_uri
 | 
			
		||||
                    with open(".matrix_avatar", "w") as f:
 | 
			
		||||
                        f.write(avatar_uri)
 | 
			
		||||
                    Matrix.set_avatar(avatar_uri)
 | 
			
		||||
 | 
			
		||||
            with open(".matrix_avatar", "r") as f:
 | 
			
		||||
                avatar_uri = f.read().rstrip(" \t\r\n")
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,16 @@ class Matrix:
 | 
			
		||||
        client = await cls._get_client()
 | 
			
		||||
        return await client.set_avatar(avatar_url)
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    @async_to_sync
 | 
			
		||||
    async def get_avatar(cls):  # pragma: no cover
 | 
			
		||||
        """
 | 
			
		||||
        Set the display avatar of the bot account.
 | 
			
		||||
        """
 | 
			
		||||
        client = await cls._get_client()
 | 
			
		||||
        resp = await client.get_avatar()
 | 
			
		||||
        return resp.avatar_url if resp.status_code == 200 else resp
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    @async_to_sync
 | 
			
		||||
    async def upload(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user