format: black
This commit is contained in:
parent
17557b478f
commit
764cba5e27
12 changed files with 39 additions and 38 deletions
17
src/main.py
17
src/main.py
|
@ -41,6 +41,7 @@ from .provider import PROVIDERS
|
|||
import platform
|
||||
import os
|
||||
|
||||
|
||||
class BavarderApplication(Adw.Application):
|
||||
"""The main application singleton class."""
|
||||
|
||||
|
@ -62,7 +63,9 @@ class BavarderApplication(Adw.Application):
|
|||
|
||||
self.clear_after_send = self.settings.get_boolean("clear-after-send")
|
||||
|
||||
self.enabled_providers = sorted(set(self.settings.get_strv("enabled-providers")))
|
||||
self.enabled_providers = sorted(
|
||||
set(self.settings.get_strv("enabled-providers"))
|
||||
)
|
||||
self.latest_provider = self.settings.get_string("latest-provider")
|
||||
|
||||
def quitting(self, *args, **kwargs):
|
||||
|
@ -84,10 +87,7 @@ class BavarderApplication(Adw.Application):
|
|||
for k, p in self.providers.items():
|
||||
r[p.slug] = json.dumps(p.save())
|
||||
print(r)
|
||||
data = GLib.Variant(
|
||||
"a{ss}",
|
||||
r
|
||||
)
|
||||
data = GLib.Variant("a{ss}", r)
|
||||
self.settings.set_value("providers-data", data)
|
||||
|
||||
def get_provider(self):
|
||||
|
@ -122,9 +122,7 @@ class BavarderApplication(Adw.Application):
|
|||
print("Loading provider", provider)
|
||||
self.provider_selector_model.append(PROVIDERS[provider].name)
|
||||
|
||||
self.providers[i] = PROVIDERS[provider](
|
||||
self.win, self
|
||||
)
|
||||
self.providers[i] = PROVIDERS[provider](self.win, self)
|
||||
|
||||
self.load()
|
||||
|
||||
|
@ -148,7 +146,6 @@ class BavarderApplication(Adw.Application):
|
|||
except KeyError: # provider not in data
|
||||
pass
|
||||
|
||||
|
||||
def on_provider_selector_notify(self, _unused, pspec):
|
||||
self.win.banner.set_revealed(False)
|
||||
|
||||
|
@ -178,7 +175,6 @@ class BavarderApplication(Adw.Application):
|
|||
website="https://bavarder.codeberg.page",
|
||||
issue_url="https://github.com/Bavarder/Bavarder/issues",
|
||||
support_url="https://codeberg.org/Bavarder/Bavarder/issues",
|
||||
|
||||
copyright="© 2023 0xMRTT",
|
||||
)
|
||||
|
||||
|
@ -196,7 +192,6 @@ Python: {platform.python_version()}
|
|||
OS: {platform.system()} {platform.release()} {platform.version()}
|
||||
Providers: {self.enabled_providers}
|
||||
"""
|
||||
|
||||
)
|
||||
about.present()
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import socket
|
|||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BAIChatProvider(BavarderProvider):
|
||||
name = "BAI Chat"
|
||||
slug = "baichat"
|
||||
|
|
|
@ -6,6 +6,7 @@ from googlebardpy import BardChat
|
|||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BardProvider(BavarderProvider):
|
||||
name = "Bard"
|
||||
slug = "bard"
|
||||
|
@ -46,7 +47,6 @@ class BardProvider(BavarderProvider):
|
|||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
self.expander.add_action(about_button) # TODO: in Adw 1.4, use add_suffix
|
||||
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.title = "__Secure-1PSID cookie"
|
||||
|
@ -86,8 +86,8 @@ class BardProvider(BavarderProvider):
|
|||
|
||||
def load(self, data):
|
||||
try:
|
||||
self.chat = BardChat(data['api_key'])
|
||||
self.api_key = data['api_key']
|
||||
self.chat = BardChat(data["api_key"])
|
||||
self.api_key = data["api_key"]
|
||||
except AttributeError:
|
||||
self.chat = None
|
||||
self.api_key = None
|
||||
|
|
|
@ -3,6 +3,8 @@ from gettext import gettext as _
|
|||
from gi.repository import Gtk, Adw
|
||||
|
||||
import json
|
||||
|
||||
|
||||
class BavarderProvider:
|
||||
name = None
|
||||
slug = None
|
||||
|
@ -29,8 +31,8 @@ class BavarderProvider:
|
|||
if title:
|
||||
self.win.banner.props.title = title
|
||||
else:
|
||||
self.win.banner.props.title = (
|
||||
_("No API key provided, you can provide one in settings")
|
||||
self.win.banner.props.title = _(
|
||||
"No API key provided, you can provide one in settings"
|
||||
)
|
||||
self.win.banner.props.button_label = _("Open settings")
|
||||
self.win.banner.connect("button-clicked", self.app.on_preferences_action)
|
||||
|
@ -59,7 +61,6 @@ class BavarderProvider:
|
|||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
self.expander.add_action(about_button) # TODO: in Adw 1.4, use add_suffix
|
||||
|
||||
|
||||
self.no_pref_row = Adw.ActionRow()
|
||||
self.no_pref_row.props.title = "No preferences available"
|
||||
self.expander.add_row(self.no_pref_row)
|
||||
|
@ -77,4 +78,3 @@ class BavarderProvider:
|
|||
print("Chuncking prompt")
|
||||
prompt = [(prompt[i : i + n]) for i in range(0, len(prompt), n)]
|
||||
return prompt
|
||||
|
|
@ -4,6 +4,7 @@ from random import choice, randint
|
|||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class CatGPTProvider(BavarderProvider):
|
||||
name = _("Cat GPT")
|
||||
slug = "catgpt"
|
||||
|
|
|
@ -94,4 +94,3 @@ class BaseHFProvider(BavarderProvider):
|
|||
def load(self, data):
|
||||
if self.require_api_key:
|
||||
self.api_key = data["api_key"]
|
||||
|
||||
|
|
|
@ -27,9 +27,14 @@ class BaseOpenAIProvider(BavarderProvider):
|
|||
self.win.banner.set_revealed(True)
|
||||
response = ""
|
||||
for chunk in prompt:
|
||||
response += self.chat.create(
|
||||
model=self.model, messages=[{"role": "user", "content": chunk}]
|
||||
).choices[0].message.content
|
||||
response += (
|
||||
self.chat.create(
|
||||
model=self.model,
|
||||
messages=[{"role": "user", "content": chunk}],
|
||||
)
|
||||
.choices[0]
|
||||
.message.content
|
||||
)
|
||||
else:
|
||||
response = self.chat.create(
|
||||
model=self.model, messages=[{"role": "user", "content": prompt}]
|
||||
|
|
Loading…
Reference in a new issue