mirror of
				https://git.sr.ht/~tsileo/microblog.pub
				synced 2025-06-05 21:59:23 +02:00 
			
		
		
		
	Add option to set image_url ("background image") for user
While this option is not used anywhere in microblog.pub itself, some
other servers do occasionally use it when showing remote profiles.
Also, this image _can_ be used in microblog.pub - just add this:
	<img src="{{ local_actor.image_url }}">
in the appropriate place of your template!
			
			
This commit is contained in:
		
				
					committed by
					
						 Thomas Sileo
						Thomas Sileo
					
				
			
			
				
	
			
			
			
						parent
						
							4c995957a6
						
					
				
				
					commit
					4613997fe3
				
			| @@ -154,6 +154,12 @@ if ALSO_KNOWN_AS: | |||||||
| if MOVED_TO: | if MOVED_TO: | ||||||
|     ME["movedTo"] = MOVED_TO |     ME["movedTo"] = MOVED_TO | ||||||
|  |  | ||||||
|  | if config.CONFIG.image_url: | ||||||
|  |     ME["image"] = { | ||||||
|  |         "mediaType": mimetypes.guess_type(config.CONFIG.image_url)[0], | ||||||
|  |         "type": "Image", | ||||||
|  |         "url": config.CONFIG.image_url, | ||||||
|  |     } | ||||||
|  |  | ||||||
| class NotAnObjectError(Exception): | class NotAnObjectError(Exception): | ||||||
|     def __init__(self, url: str, resp: httpx.Response | None = None) -> None: |     def __init__(self, url: str, resp: httpx.Response | None = None) -> None: | ||||||
|   | |||||||
| @@ -88,6 +88,10 @@ class Actor: | |||||||
|     def icon_media_type(self) -> str | None: |     def icon_media_type(self) -> str | None: | ||||||
|         return self.ap_actor.get("icon", {}).get("mediaType") |         return self.ap_actor.get("icon", {}).get("mediaType") | ||||||
|  |  | ||||||
|  |     @property | ||||||
|  |     def image_url(self) -> str | None: | ||||||
|  |         return self.ap_actor.get("image", {}).get("url") | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def public_key_as_pem(self) -> str: |     def public_key_as_pem(self) -> str: | ||||||
|         return self.ap_actor["publicKey"]["publicKeyPem"] |         return self.ap_actor["publicKey"]["publicKeyPem"] | ||||||
| @@ -381,6 +385,9 @@ def _actor_hash(actor: Actor) -> bytes: | |||||||
|     if actor.icon_url: |     if actor.icon_url: | ||||||
|         h.update(actor.icon_url.encode()) |         h.update(actor.icon_url.encode()) | ||||||
|  |  | ||||||
|  |     if actor.image_url: | ||||||
|  |         h.update(actor.image_url.encode()) | ||||||
|  |  | ||||||
|     if actor.attachments: |     if actor.attachments: | ||||||
|         for a in actor.attachments: |         for a in actor.attachments: | ||||||
|             if a.get("type") != "PropertyValue": |             if a.get("type") != "PropertyValue": | ||||||
|   | |||||||
| @@ -92,6 +92,7 @@ class Config(pydantic.BaseModel): | |||||||
|     summary: str |     summary: str | ||||||
|     https: bool |     https: bool | ||||||
|     icon_url: str |     icon_url: str | ||||||
|  |     image_url: str | ||||||
|     secret: str |     secret: str | ||||||
|     debug: bool = False |     debug: bool = False | ||||||
|     trusted_hosts: list[str] = ["127.0.0.1"] |     trusted_hosts: list[str] = ["127.0.0.1"] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user