format: black

This commit is contained in:
0xMRTT 2023-05-06 19:24:25 +02:00
parent 17557b478f
commit 764cba5e27
Signed by: 0xmrtt
GPG key ID: 19C1449A774028BD
12 changed files with 39 additions and 38 deletions

View file

@ -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()

View file

@ -5,6 +5,7 @@ import socket
from gi.repository import Gtk, Adw, GLib
class BAIChatProvider(BavarderProvider):
name = "BAI Chat"
slug = "baichat"

View file

@ -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

View file

@ -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)
@ -75,6 +76,5 @@ class BavarderProvider:
def chunk(self, prompt, n=4000):
if len(prompt) > n:
print("Chuncking prompt")
prompt = [(prompt[i:i+n]) for i in range(0, len(prompt), n)]
prompt = [(prompt[i : i + n]) for i in range(0, len(prompt), n)]
return prompt

View file

@ -4,6 +4,7 @@ from random import choice, randint
from gi.repository import Gtk, Adw, GLib
class CatGPTProvider(BavarderProvider):
name = _("Cat GPT")
slug = "catgpt"

View file

@ -94,4 +94,3 @@ class BaseHFProvider(BavarderProvider):
def load(self, data):
if self.require_api_key:
self.api_key = data["api_key"]

View file

@ -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}]