Fix usage of AICapabilities as purpose key

This commit is contained in:
Kovid Goyal 2025-09-08 14:17:50 +05:30
parent 9d0956722f
commit 12ac83c87f
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 6 additions and 2 deletions

View File

@ -146,3 +146,7 @@ class AICapabilities(Flag):
@property
def supports_text_to_image(self) -> bool:
return AICapabilities.text_to_image in self
@property
def purpose(self) -> str:
return 'AICapabilities.'+'|'.join(sorted(x.name for x in self))

View File

@ -68,7 +68,7 @@ class ConfigureAI(QWidget):
return False
p.save_settings(w)
pmap = prefs()['purpose_map']
pmap[str(self.purpose)] = p.name
pmap[self.purpose.purpose] = p.name
prefs().set('purpose_map', pmap)
return True

View File

@ -42,7 +42,7 @@ def plugins_for_purpose(purpose: AICapabilities) -> Iterator[AIProviderPlugin]:
def plugin_for_purpose(purpose: AICapabilities) -> AIProviderPlugin | None:
compatible_plugins = {p.name: p for p in plugins_for_purpose(purpose)}
q = prefs()['purpose_map'].get(str(purpose), '')
q = prefs()['purpose_map'].get(purpose.purpose, '')
if ans := compatible_plugins.get(q):
return ans
if compatible_plugins: