Spaces:
Running
Running
Aitron Emper
commited on
Upload 57 files
Browse files- app.py +53 -6
- assets/i18n/languages/pl_PL.json +129 -111
- assets/themes/Applio.py +284 -0
- assets/themes/loadThemes.py +104 -0
- assets/themes/theme.json +1 -0
- assets/themes/theme_list.json +751 -0
- tabs/extra/extra.py +2 -2
- tabs/settings/themes.py +30 -0
app.py
CHANGED
|
@@ -5,6 +5,38 @@ import os
|
|
| 5 |
now_dir = os.getcwd()
|
| 6 |
sys.path.append(now_dir)
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
from tabs.inference.inference import inference_tab
|
| 9 |
from tabs.train.train import train_tab
|
| 10 |
from tabs.extra.extra import extra_tab
|
|
@@ -12,6 +44,9 @@ from tabs.report.report import report_tab
|
|
| 12 |
from tabs.download.download import download_tab
|
| 13 |
from tabs.tts.tts import tts_tab
|
| 14 |
from tabs.settings.presence import presence_tab
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
from assets.i18n.i18n import I18nAuto
|
| 17 |
|
|
@@ -21,7 +56,13 @@ from assets.discord_presence import RPCManager
|
|
| 21 |
|
| 22 |
RPCManager.start_presence()
|
| 23 |
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
gr.Markdown("# Applio")
|
| 26 |
gr.Markdown(
|
| 27 |
i18n(
|
|
@@ -36,8 +77,8 @@ with gr.Blocks(theme="ParityError/Interstellar", title="Applio") as Applio:
|
|
| 36 |
with gr.Tab(i18n("Inference")):
|
| 37 |
inference_tab()
|
| 38 |
|
| 39 |
-
|
| 40 |
-
|
| 41 |
|
| 42 |
with gr.Tab(i18n("TTS")):
|
| 43 |
tts_tab()
|
|
@@ -51,9 +92,15 @@ with gr.Blocks(theme="ParityError/Interstellar", title="Applio") as Applio:
|
|
| 51 |
with gr.Tab(i18n("Report a Bug")):
|
| 52 |
report_tab()
|
| 53 |
|
| 54 |
-
|
| 55 |
-
|
|
|
|
| 56 |
|
| 57 |
|
| 58 |
if __name__ == "__main__":
|
| 59 |
-
Applio.launch(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
now_dir = os.getcwd()
|
| 6 |
sys.path.append(now_dir)
|
| 7 |
|
| 8 |
+
|
| 9 |
+
class InstallationError(Exception):
|
| 10 |
+
def __init__(self, message="InstallationError"):
|
| 11 |
+
self.message = message
|
| 12 |
+
super().__init__(self.message)
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
try:
|
| 16 |
+
system_drive = os.getenv("SystemDrive")
|
| 17 |
+
current_drive = os.path.splitdrive(now_dir)[0]
|
| 18 |
+
if current_drive.upper() != system_drive.upper():
|
| 19 |
+
raise InstallationError(
|
| 20 |
+
f"Error: Current working directory is not on the default system drive ({system_drive}). Please move Applio in the correct drive."
|
| 21 |
+
)
|
| 22 |
+
except:
|
| 23 |
+
pass
|
| 24 |
+
else:
|
| 25 |
+
if "OneDrive" in now_dir:
|
| 26 |
+
raise InstallationError(
|
| 27 |
+
"Error: Current working directory is on OneDrive. Please move Applio in another folder."
|
| 28 |
+
)
|
| 29 |
+
elif " " in now_dir:
|
| 30 |
+
raise InstallationError(
|
| 31 |
+
"Error: Current working directory contains spaces. Please move Applio in another folder."
|
| 32 |
+
)
|
| 33 |
+
try:
|
| 34 |
+
now_dir.encode("ascii")
|
| 35 |
+
except UnicodeEncodeError:
|
| 36 |
+
raise InstallationError(
|
| 37 |
+
"Error: Current working directory contains non-ASCII characters. Please move Applio in another folder."
|
| 38 |
+
)
|
| 39 |
+
|
| 40 |
from tabs.inference.inference import inference_tab
|
| 41 |
from tabs.train.train import train_tab
|
| 42 |
from tabs.extra.extra import extra_tab
|
|
|
|
| 44 |
from tabs.download.download import download_tab
|
| 45 |
from tabs.tts.tts import tts_tab
|
| 46 |
from tabs.settings.presence import presence_tab
|
| 47 |
+
from tabs.settings.themes import theme_tab
|
| 48 |
+
|
| 49 |
+
import assets.themes.loadThemes as loadThemes
|
| 50 |
|
| 51 |
from assets.i18n.i18n import I18nAuto
|
| 52 |
|
|
|
|
| 56 |
|
| 57 |
RPCManager.start_presence()
|
| 58 |
|
| 59 |
+
my_applio = loadThemes.load_json()
|
| 60 |
+
if my_applio:
|
| 61 |
+
pass
|
| 62 |
+
else:
|
| 63 |
+
my_applio = "ParityError/Interstellar"
|
| 64 |
+
|
| 65 |
+
with gr.Blocks(theme=my_applio, title="Applio") as Applio:
|
| 66 |
gr.Markdown("# Applio")
|
| 67 |
gr.Markdown(
|
| 68 |
i18n(
|
|
|
|
| 77 |
with gr.Tab(i18n("Inference")):
|
| 78 |
inference_tab()
|
| 79 |
|
| 80 |
+
with gr.Tab(i18n("Train")):
|
| 81 |
+
train_tab()
|
| 82 |
|
| 83 |
with gr.Tab(i18n("TTS")):
|
| 84 |
tts_tab()
|
|
|
|
| 92 |
with gr.Tab(i18n("Report a Bug")):
|
| 93 |
report_tab()
|
| 94 |
|
| 95 |
+
with gr.Tab(i18n("Settings")):
|
| 96 |
+
presence_tab()
|
| 97 |
+
theme_tab()
|
| 98 |
|
| 99 |
|
| 100 |
if __name__ == "__main__":
|
| 101 |
+
Applio.launch(
|
| 102 |
+
favicon_path="assets/ICON.ico",
|
| 103 |
+
share="--share" in sys.argv,
|
| 104 |
+
inbrowser="--open" in sys.argv,
|
| 105 |
+
server_port=6969,
|
| 106 |
+
)
|
assets/i18n/languages/pl_PL.json
CHANGED
|
@@ -1,113 +1,131 @@
|
|
| 1 |
{
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Najlepsze narzędzie do klonowania głosu, skrupulatnie zoptymalizowane pod kątem niezrównanej mocy, modułowości i przyjazności dla użytkownika.",
|
| 3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Ta sekcja zawiera kilka dodatkowych narzędzi, które często mogą znajdować się w fazie eksperymentalnej.",
|
| 4 |
+
"Output Information": "Informacje wyjściowe",
|
| 5 |
+
|
| 6 |
+
"Inference": "Inferencja",
|
| 7 |
+
"Train": "Trening",
|
| 8 |
+
"Extra": "Dodatkowe funkcje",
|
| 9 |
+
"Merge Audios": "Scal audio",
|
| 10 |
+
"Processing": "Przetwarzanie",
|
| 11 |
+
"Audio Analyzer": "Analizator dźwięku",
|
| 12 |
+
"Model Information": "Informacje o modelu",
|
| 13 |
+
"Download": "Pobieranie",
|
| 14 |
+
"Report a Bug": "Zgłoś błąd",
|
| 15 |
+
|
| 16 |
+
"Preprocess": "Przetwarzanie wstępne",
|
| 17 |
+
"Model Name": "Nazwa modelu",
|
| 18 |
+
"Enter model name": "Wprowadź nazwę modelu",
|
| 19 |
+
"Dataset Path": "Ścieżka zestawu danych",
|
| 20 |
+
"Enter dataset path": "Wprowadź ścieżkę zestawu danych",
|
| 21 |
+
"Sampling Rate": "Częstotliwość próbkowania",
|
| 22 |
+
"RVC Version": "Wersja RVC",
|
| 23 |
+
"Preprocess Dataset": "Przetwórz wstępnie zestaw danych",
|
| 24 |
+
|
| 25 |
+
"Extract": "Wypakuj",
|
| 26 |
+
"Hop Length": "Długość przeskoku",
|
| 27 |
+
"Batch Size": "Wielkość partii",
|
| 28 |
+
"Save Every Epoch": "Zapisz każdą epokę",
|
| 29 |
+
"Total Epoch": "Wszystkich epok",
|
| 30 |
+
"Pretrained": "Wstępnie wytrenowany",
|
| 31 |
+
"Save Only Latest": "Zapisz tylko najnowszą",
|
| 32 |
+
"Save Every Weights": "Oszczędzaj każdą wagę",
|
| 33 |
+
"Custom Pretrained": "Niestandardowe wstępnie wytrenowane",
|
| 34 |
+
"Upload Pretrained Model": "Przekazywanie wstępnie wytrenowanego modelu",
|
| 35 |
+
"Pretrained Custom Settings": "Wstępnie wytrenowane ustawienia niestandardowe",
|
| 36 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "Upuszczony plik nie jest prawidłowym wstępnie wytrenowanym plikiem. Spróbuj ponownie.",
|
| 37 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Kliknij przycisk odświeżania, aby wyświetlić wstępnie wytrenowany plik w menu rozwijanym.",
|
| 38 |
+
"Pretrained G Path": "Niestandardowa ścieżka wstępnie wytrenowanego modelu G",
|
| 39 |
+
"Pretrained D Path": "Niestandardowa ścieżka wstępnie wytrenowanego modelu D",
|
| 40 |
+
"GPU Settings": "Ustawienia GPU",
|
| 41 |
+
"GPU Custom Settings": "Niestandardowe ustawienia GPU",
|
| 42 |
+
"GPU Number": "Numer GPU",
|
| 43 |
+
"0 to ∞ separated by -": "Od 0 do ∞ oddzielone -",
|
| 44 |
+
"GPU Information": "Informacje o procesorze GPU",
|
| 45 |
+
"Pitch Guidance": "Wskazówki dotyczące wysokości dźwięku",
|
| 46 |
+
"Extract Features": "Wyodrębnij funkcje",
|
| 47 |
+
|
| 48 |
+
"Start Training": "Rozpocznij trening",
|
| 49 |
+
"Generate Index": "Generuj Index",
|
| 50 |
+
|
| 51 |
+
"Voice Model": "Model głosu",
|
| 52 |
+
"Index File": "Plik indeksu",
|
| 53 |
+
"Refresh": "Odśwież",
|
| 54 |
+
"Unload Voice": "Przeładuj głos od nowa",
|
| 55 |
+
|
| 56 |
+
"Single": "Pojedyńczy plik",
|
| 57 |
+
"Upload Audio": "Prześlij plik Audio",
|
| 58 |
+
"Select Audio": "Wybierz plik Audio",
|
| 59 |
+
"Advanced Settings": "Ustawienia Zaawansowane",
|
| 60 |
+
|
| 61 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Wyczyść wyjścia (usuwa wszystkie pliki audio w zasobach/plikach audio)",
|
| 62 |
+
"Custom Output Path": "Niestandardowa ścieżka wyjściowa",
|
| 63 |
+
"Output Path": "Ścieżka wyjściowa",
|
| 64 |
+
"Split Audio": "Rozdziel dzwięk",
|
| 65 |
+
"Pitch": "Tonacja",
|
| 66 |
+
"If >=3: apply median filtering to the harvested pitch results. The value represents the filter radius and can reduce breathiness": "Jeśli >=3: zastosuj filtrowanie mediany do zebranych wyników skoku. Wartość reprezentuje promień filtra i może zmniejszyć oddychanie",
|
| 67 |
+
"Search Feature Ratio": "Współczynnik funkcji wyszukiwania",
|
| 68 |
+
"Pitch extraction algorithm": "Algorytm ekstrakcji wysokości tonacji",
|
| 69 |
+
"Convert": "Konwertuj",
|
| 70 |
+
"Export Audio": "Eksportuj dźwięk",
|
| 71 |
+
|
| 72 |
+
"Batch": "Partia",
|
| 73 |
+
"Input Folder": "Folder wejściowy",
|
| 74 |
+
"Enter input path": "Wprowadź ścieżkę wejściową",
|
| 75 |
+
"Output Folder": "Folder wyjściowy",
|
| 76 |
+
"Enter output path": "Wprowadź ścieżkę wyjściową",
|
| 77 |
+
|
| 78 |
+
"Get information about the audio": "Sprawdź informację o dźwięku",
|
| 79 |
+
"Information about the audio file": "Informacje o pliku audio",
|
| 80 |
+
"Waiting for information...": "Czekam na informację...",
|
| 81 |
+
|
| 82 |
+
"Model fusion": "Fuzja modeli",
|
| 83 |
+
"Weight for Model A": "Waga dla modelu A",
|
| 84 |
+
"Whether the model has pitch guidance": "Czy model ma wskazówki dotyczące wysokości dźwięku",
|
| 85 |
+
"Model architecture version": "Wersja architektury modelu",
|
| 86 |
+
"Path to Model A": "Ścieżka do Modelu A",
|
| 87 |
+
"Path to Model B": "Ścieżka do Modelu B",
|
| 88 |
+
"Path to model": "Ścieżka do modelu",
|
| 89 |
+
"Model information to be placed": "Informacje o modelu, które mają zostać umieszczone",
|
| 90 |
+
"Fusion": "Fuzja",
|
| 91 |
+
|
| 92 |
+
"Modify model information": "Modyfikowanie informacji o modelu",
|
| 93 |
+
"Path to Model": "Ścieżka do modelu",
|
| 94 |
+
"Model information to be modified": "Informacje o modelu, które mają zostać zmodyfikowane",
|
| 95 |
+
"Save file name": "Zapisz nazwę pliku",
|
| 96 |
+
"Modify": "Zmień",
|
| 97 |
+
|
| 98 |
+
"View model information": "Zobacz informacje o modelu",
|
| 99 |
+
"View": "Zobacz",
|
| 100 |
+
"Model extraction": "Wyodrębnianie modelu",
|
| 101 |
+
"Model conversion": "Konwersja modelu",
|
| 102 |
+
"Pth file": "Plik pth",
|
| 103 |
+
"Output of the pth file": "Wyjście pliku pth",
|
| 104 |
+
|
| 105 |
+
"# How to Report an Issue on GitHub": "# Jak zgłosić problem na GitHub",
|
| 106 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Kliknij przycisk \"Ekran nagrywania\" poniżej, aby rozpocząć nagrywanie napotkanego problemu.",
|
| 107 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Po zakończeniu nagrywania problemu kliknij przycisk \"Zatrzymaj nagrywanie\" (ten sam przycisk, ale etykieta zmienia się w zależności od tego, czy aktywnie nagrywasz, czy nie).",
|
| 108 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Przejdź do [GitHub Issues](https://github.com/IAHispano/Applio/issues) i kliknij przycisk \"Nowe zgłoszenie\".",
|
| 109 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Wypełnij dostarczony szablon problemu, upewniając się, że w razie potrzeby dołączyłeś szczegóły, i skorzystaj z sekcji zasobów, aby przesłać nagrany plik z poprzedniego kroku.",
|
| 110 |
+
|
| 111 |
+
"Record Screen": "Nagrywanie Ekranu",
|
| 112 |
+
"Record": "Nagraj",
|
| 113 |
+
"Stop Recording": "Zatrzymaj nagrywanie",
|
| 114 |
+
|
| 115 |
+
"Introduce the model .pth path": "Wprowadzenie ścieżki pliku .pth modelu",
|
| 116 |
+
"See Model Information": "Zobacz informacje o modelu",
|
| 117 |
+
|
| 118 |
+
"## Download Model": "## Pobierz model",
|
| 119 |
+
"Model Link": "Link do modelu",
|
| 120 |
+
"Introduce the model link": "Wprowadzenie linku do modelu",
|
| 121 |
+
"Download Model": "Pobierz model",
|
| 122 |
+
"## Drop files": "## Upuść pliki",
|
| 123 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Przeciągnij plik .pth i plik .index do tego miejsca. Pliki przeciągnij pojedyńczo.",
|
| 124 |
+
|
| 125 |
+
"TTS Voices": "Głosy TTS",
|
| 126 |
+
"Text to Synthesize": "Tekst do syntezy",
|
| 127 |
+
"Enter text to synthesize": "Wpisz tutaj tekst który ma zostać przetworzony...",
|
| 128 |
+
"Output Path for TTS Audio": "Ścieżka wyjściowa dla TTS Audio",
|
| 129 |
+
"Output Path for RVC Audio": "Ścieżka wyjściowa dla dźwięku RVC",
|
| 130 |
+
"Enable Applio integration with Discord presence": "Włącz integrację Applio z Discord"
|
| 131 |
}
|
assets/themes/Applio.py
ADDED
|
@@ -0,0 +1,284 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from __future__ import annotations
|
| 2 |
+
|
| 3 |
+
from typing import Iterable
|
| 4 |
+
import gradio as gr
|
| 5 |
+
|
| 6 |
+
# gr.themes.builder()
|
| 7 |
+
from gradio.themes.base import Base
|
| 8 |
+
from gradio.themes.utils import colors, fonts, sizes
|
| 9 |
+
import time
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
class Applio(Base):
|
| 13 |
+
def __init__(
|
| 14 |
+
self,
|
| 15 |
+
*,
|
| 16 |
+
primary_hue: colors.Color | str = colors.green,
|
| 17 |
+
secondary_hue: colors.Color | str = colors.emerald,
|
| 18 |
+
neutral_hue: colors.Color | str = colors.neutral,
|
| 19 |
+
spacing_size: sizes.Size | str = sizes.spacing_md,
|
| 20 |
+
radius_size: sizes.Size | str = sizes.radius_md,
|
| 21 |
+
text_size: sizes.Size | str = sizes.text_lg,
|
| 22 |
+
font: fonts.Font | str | Iterable[fonts.Font | str] = (
|
| 23 |
+
"Syne V",
|
| 24 |
+
fonts.GoogleFont("Syne"),
|
| 25 |
+
"ui-sans-serif",
|
| 26 |
+
"system-ui",
|
| 27 |
+
),
|
| 28 |
+
font_mono: fonts.Font | str | Iterable[fonts.Font | str] = (
|
| 29 |
+
"ui-monospace",
|
| 30 |
+
fonts.GoogleFont("Nunito Sans"),
|
| 31 |
+
),
|
| 32 |
+
):
|
| 33 |
+
super().__init__(
|
| 34 |
+
primary_hue=primary_hue,
|
| 35 |
+
secondary_hue=secondary_hue,
|
| 36 |
+
neutral_hue=neutral_hue,
|
| 37 |
+
spacing_size=spacing_size,
|
| 38 |
+
radius_size=radius_size,
|
| 39 |
+
text_size=text_size,
|
| 40 |
+
font=font,
|
| 41 |
+
font_mono=font_mono,
|
| 42 |
+
)
|
| 43 |
+
self.name = ("Applio",)
|
| 44 |
+
self.secondary_100 = ("#dbeafe",)
|
| 45 |
+
self.secondary_200 = ("#bfdbfe",)
|
| 46 |
+
self.secondary_300 = ("#93c5fd",)
|
| 47 |
+
self.secondary_400 = ("#60a5fa",)
|
| 48 |
+
self.secondary_50 = ("#eff6ff",)
|
| 49 |
+
self.secondary_500 = ("#3b82f6",)
|
| 50 |
+
self.secondary_600 = ("#2563eb",)
|
| 51 |
+
self.secondary_700 = ("#1d4ed8",)
|
| 52 |
+
self.secondary_800 = ("#1e40af",)
|
| 53 |
+
self.secondary_900 = ("#1e3a8a",)
|
| 54 |
+
self.secondary_950 = ("#1d3660",)
|
| 55 |
+
|
| 56 |
+
super().set(
|
| 57 |
+
# Blaise
|
| 58 |
+
background_fill_primary="black",
|
| 59 |
+
background_fill_primary_dark="black",
|
| 60 |
+
background_fill_secondary="black",
|
| 61 |
+
background_fill_secondary_dark="black",
|
| 62 |
+
block_background_fill="*neutral_800",
|
| 63 |
+
block_background_fill_dark="*neutral_800",
|
| 64 |
+
block_border_color="*border_color_primary",
|
| 65 |
+
block_border_color_dark="*border_color_primary",
|
| 66 |
+
block_border_width="1px",
|
| 67 |
+
block_border_width_dark="1px",
|
| 68 |
+
block_info_text_color="*body_text_color_subdued",
|
| 69 |
+
block_info_text_color_dark="*body_text_color_subdued",
|
| 70 |
+
block_info_text_size="*text_sm",
|
| 71 |
+
block_info_text_weight="400",
|
| 72 |
+
block_label_background_fill="*background_fill_primary",
|
| 73 |
+
block_label_background_fill_dark="*background_fill_secondary",
|
| 74 |
+
block_label_border_color="*border_color_primary",
|
| 75 |
+
block_label_border_color_dark="*border_color_primary",
|
| 76 |
+
block_label_border_width="1px",
|
| 77 |
+
block_label_border_width_dark="1px",
|
| 78 |
+
block_label_margin="0",
|
| 79 |
+
block_label_padding="*spacing_sm *spacing_lg",
|
| 80 |
+
block_label_radius="calc(*radius_lg - 1px) 0 calc(*radius_lg - 1px) 0",
|
| 81 |
+
block_label_right_radius="0 calc(*radius_lg - 1px) 0 calc(*radius_lg - 1px)",
|
| 82 |
+
block_label_shadow="*block_shadow",
|
| 83 |
+
block_label_text_color="*neutral_200",
|
| 84 |
+
block_label_text_color_dark="*neutral_200",
|
| 85 |
+
block_label_text_weight="400",
|
| 86 |
+
block_padding="*spacing_xl",
|
| 87 |
+
block_radius="*radius_md",
|
| 88 |
+
block_shadow="none",
|
| 89 |
+
block_shadow_dark="none",
|
| 90 |
+
block_title_background_fill="rgba(46,85,65,255)",
|
| 91 |
+
block_title_background_fill_dark="rgba(46,85,65,255)",
|
| 92 |
+
block_title_border_color="none",
|
| 93 |
+
block_title_border_color_dark="none",
|
| 94 |
+
block_title_border_width="0px",
|
| 95 |
+
block_title_padding="*block_label_padding",
|
| 96 |
+
block_title_radius="*block_label_radius",
|
| 97 |
+
block_title_text_color="*neutral_200",
|
| 98 |
+
block_title_text_color_dark="*neutral_200",
|
| 99 |
+
block_title_text_size="*text_md",
|
| 100 |
+
block_title_text_weight="600",
|
| 101 |
+
body_background_fill="black",
|
| 102 |
+
body_background_fill_dark="black",
|
| 103 |
+
body_text_color="white",
|
| 104 |
+
body_text_color_dark="white",
|
| 105 |
+
body_text_color_subdued="*neutral_400",
|
| 106 |
+
body_text_color_subdued_dark="*neutral_400",
|
| 107 |
+
body_text_size="*text_md",
|
| 108 |
+
body_text_weight="400",
|
| 109 |
+
border_color_accent="*neutral_600",
|
| 110 |
+
border_color_accent_dark="*neutral_600",
|
| 111 |
+
border_color_primary="*neutral_800",
|
| 112 |
+
border_color_primary_dark="*neutral_800",
|
| 113 |
+
button_border_width="*input_border_width",
|
| 114 |
+
button_border_width_dark="*input_border_width",
|
| 115 |
+
button_cancel_background_fill="*button_secondary_background_fill",
|
| 116 |
+
button_cancel_background_fill_dark="*button_secondary_background_fill",
|
| 117 |
+
button_cancel_background_fill_hover="*button_cancel_background_fill",
|
| 118 |
+
button_cancel_background_fill_hover_dark="*button_cancel_background_fill",
|
| 119 |
+
button_cancel_border_color="*button_secondary_border_color",
|
| 120 |
+
button_cancel_border_color_dark="*button_secondary_border_color",
|
| 121 |
+
button_cancel_border_color_hover="*button_cancel_border_color",
|
| 122 |
+
button_cancel_border_color_hover_dark="*button_cancel_border_color",
|
| 123 |
+
button_cancel_text_color="*button_secondary_text_color",
|
| 124 |
+
button_cancel_text_color_dark="*button_secondary_text_color",
|
| 125 |
+
button_cancel_text_color_hover="*button_cancel_text_color",
|
| 126 |
+
button_cancel_text_color_hover_dark="*button_cancel_text_color",
|
| 127 |
+
button_large_padding="*spacing_lg calc(2 * *spacing_lg)",
|
| 128 |
+
button_large_radius="*radius_lg",
|
| 129 |
+
button_large_text_size="*text_lg",
|
| 130 |
+
button_large_text_weight="600",
|
| 131 |
+
button_primary_background_fill="*primary_600",
|
| 132 |
+
button_primary_background_fill_dark="*primary_600",
|
| 133 |
+
button_primary_background_fill_hover="*primary_500",
|
| 134 |
+
button_primary_background_fill_hover_dark="*primary_500",
|
| 135 |
+
button_primary_border_color="*primary_500",
|
| 136 |
+
button_primary_border_color_dark="*primary_500",
|
| 137 |
+
button_primary_border_color_hover="*primary_400",
|
| 138 |
+
button_primary_border_color_hover_dark="*primary_400",
|
| 139 |
+
button_primary_text_color="white",
|
| 140 |
+
button_primary_text_color_dark="white",
|
| 141 |
+
button_primary_text_color_hover="*button_primary_text_color",
|
| 142 |
+
button_primary_text_color_hover_dark="*button_primary_text_color",
|
| 143 |
+
button_secondary_background_fill="transparent",
|
| 144 |
+
button_secondary_background_fill_dark="transparent",
|
| 145 |
+
button_secondary_background_fill_hover="*neutral_800",
|
| 146 |
+
button_secondary_background_fill_hover_dark="*neutral_800",
|
| 147 |
+
button_secondary_border_color="*neutral_700",
|
| 148 |
+
button_secondary_border_color_dark="*neutral_700",
|
| 149 |
+
button_secondary_border_color_hover="*neutral_600",
|
| 150 |
+
button_secondary_border_color_hover_dark="*neutral_600",
|
| 151 |
+
button_secondary_text_color="white",
|
| 152 |
+
button_secondary_text_color_dark="white",
|
| 153 |
+
button_secondary_text_color_hover="*button_secondary_text_color",
|
| 154 |
+
button_secondary_text_color_hover_dark="*button_secondary_text_color",
|
| 155 |
+
button_shadow="none",
|
| 156 |
+
button_shadow_active="*shadow_inset",
|
| 157 |
+
button_shadow_hover="none",
|
| 158 |
+
button_small_padding="*spacing_sm calc(2 * *spacing_sm)",
|
| 159 |
+
button_small_radius="*radius_lg",
|
| 160 |
+
button_small_text_size="*text_md",
|
| 161 |
+
button_small_text_weight="400",
|
| 162 |
+
button_transition="0.3s ease all",
|
| 163 |
+
checkbox_background_color="*neutral_700",
|
| 164 |
+
checkbox_background_color_dark="*neutral_700",
|
| 165 |
+
checkbox_background_color_focus="*checkbox_background_color",
|
| 166 |
+
checkbox_background_color_focus_dark="*checkbox_background_color",
|
| 167 |
+
checkbox_background_color_hover="*checkbox_background_color",
|
| 168 |
+
checkbox_background_color_hover_dark="*checkbox_background_color",
|
| 169 |
+
checkbox_background_color_selected="*secondary_600",
|
| 170 |
+
checkbox_background_color_selected_dark="*secondary_600",
|
| 171 |
+
checkbox_border_color="*neutral_700",
|
| 172 |
+
checkbox_border_color_dark="*neutral_700",
|
| 173 |
+
checkbox_border_color_focus="*secondary_500",
|
| 174 |
+
checkbox_border_color_focus_dark="*secondary_500",
|
| 175 |
+
checkbox_border_color_hover="*neutral_600",
|
| 176 |
+
checkbox_border_color_hover_dark="*neutral_600",
|
| 177 |
+
checkbox_border_color_selected="*secondary_600",
|
| 178 |
+
checkbox_border_color_selected_dark="*secondary_600",
|
| 179 |
+
checkbox_border_radius="*radius_sm",
|
| 180 |
+
checkbox_border_width="*input_border_width",
|
| 181 |
+
checkbox_border_width_dark="*input_border_width",
|
| 182 |
+
checkbox_check="url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\")",
|
| 183 |
+
checkbox_label_background_fill="transparent",
|
| 184 |
+
checkbox_label_background_fill_dark="transparent",
|
| 185 |
+
checkbox_label_background_fill_hover="transparent",
|
| 186 |
+
checkbox_label_background_fill_hover_dark="transparent",
|
| 187 |
+
checkbox_label_background_fill_selected="transparent",
|
| 188 |
+
checkbox_label_background_fill_selected_dark="transparent",
|
| 189 |
+
checkbox_label_border_color="transparent",
|
| 190 |
+
checkbox_label_border_color_dark="transparent",
|
| 191 |
+
checkbox_label_border_color_hover="transparent",
|
| 192 |
+
checkbox_label_border_color_hover_dark="transparent",
|
| 193 |
+
checkbox_label_border_width="transparent",
|
| 194 |
+
checkbox_label_border_width_dark="transparent",
|
| 195 |
+
checkbox_label_gap="*spacing_lg",
|
| 196 |
+
checkbox_label_padding="*spacing_md calc(2 * *spacing_md)",
|
| 197 |
+
checkbox_label_shadow="none",
|
| 198 |
+
checkbox_label_text_color="*body_text_color",
|
| 199 |
+
checkbox_label_text_color_dark="*body_text_color",
|
| 200 |
+
checkbox_label_text_color_selected="*checkbox_label_text_color",
|
| 201 |
+
checkbox_label_text_color_selected_dark="*checkbox_label_text_color",
|
| 202 |
+
checkbox_label_text_size="*text_md",
|
| 203 |
+
checkbox_label_text_weight="400",
|
| 204 |
+
checkbox_shadow="*input_shadow",
|
| 205 |
+
color_accent="*primary_500",
|
| 206 |
+
color_accent_soft="*primary_50",
|
| 207 |
+
color_accent_soft_dark="*neutral_700",
|
| 208 |
+
container_radius="*radius_xl",
|
| 209 |
+
embed_radius="*radius_lg",
|
| 210 |
+
error_background_fill="*background_fill_primary",
|
| 211 |
+
error_background_fill_dark="*background_fill_primary",
|
| 212 |
+
error_border_color="*border_color_primary",
|
| 213 |
+
error_border_color_dark="*border_color_primary",
|
| 214 |
+
error_border_width="1px",
|
| 215 |
+
error_border_width_dark="1px",
|
| 216 |
+
error_text_color="#ef4444",
|
| 217 |
+
error_text_color_dark="#ef4444",
|
| 218 |
+
form_gap_width="0px",
|
| 219 |
+
input_background_fill="*neutral_900",
|
| 220 |
+
input_background_fill_dark="*neutral_900",
|
| 221 |
+
input_background_fill_focus="*secondary_600",
|
| 222 |
+
input_background_fill_focus_dark="*secondary_600",
|
| 223 |
+
input_background_fill_hover="*input_background_fill",
|
| 224 |
+
input_background_fill_hover_dark="*input_background_fill",
|
| 225 |
+
input_border_color="*neutral_700",
|
| 226 |
+
input_border_color_dark="*neutral_700",
|
| 227 |
+
input_border_color_focus="*secondary_600",
|
| 228 |
+
input_border_color_focus_dark="*primary_600",
|
| 229 |
+
input_border_color_hover="*input_border_color",
|
| 230 |
+
input_border_color_hover_dark="*input_border_color",
|
| 231 |
+
input_border_width="1px",
|
| 232 |
+
input_border_width_dark="1px",
|
| 233 |
+
input_padding="*spacing_xl",
|
| 234 |
+
input_placeholder_color="*neutral_500",
|
| 235 |
+
input_placeholder_color_dark="*neutral_500",
|
| 236 |
+
input_radius="*radius_lg",
|
| 237 |
+
input_shadow="none",
|
| 238 |
+
input_shadow_dark="none",
|
| 239 |
+
input_shadow_focus="*input_shadow",
|
| 240 |
+
input_shadow_focus_dark="*input_shadow",
|
| 241 |
+
input_text_size="*text_md",
|
| 242 |
+
input_text_weight="400",
|
| 243 |
+
layout_gap="*spacing_xxl",
|
| 244 |
+
link_text_color="*secondary_500",
|
| 245 |
+
link_text_color_active="*secondary_500",
|
| 246 |
+
link_text_color_active_dark="*secondary_500",
|
| 247 |
+
link_text_color_dark="*secondary_500",
|
| 248 |
+
link_text_color_hover="*secondary_400",
|
| 249 |
+
link_text_color_hover_dark="*secondary_400",
|
| 250 |
+
link_text_color_visited="*secondary_600",
|
| 251 |
+
link_text_color_visited_dark="*secondary_600",
|
| 252 |
+
loader_color="*color_accent",
|
| 253 |
+
loader_color_dark="*color_accent",
|
| 254 |
+
panel_background_fill="*background_fill_secondary",
|
| 255 |
+
panel_background_fill_dark="*background_fill_secondary",
|
| 256 |
+
panel_border_color="*border_color_primary",
|
| 257 |
+
panel_border_color_dark="*border_color_primary",
|
| 258 |
+
panel_border_width="1px",
|
| 259 |
+
panel_border_width_dark="1px",
|
| 260 |
+
prose_header_text_weight="600",
|
| 261 |
+
prose_text_size="*text_md",
|
| 262 |
+
prose_text_weight="400",
|
| 263 |
+
radio_circle="url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\")",
|
| 264 |
+
section_header_text_size="*text_md",
|
| 265 |
+
section_header_text_weight="400",
|
| 266 |
+
shadow_drop="rgba(0,0,0,0.05) 0px 1px 2px 0px",
|
| 267 |
+
shadow_drop_lg="0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
| 268 |
+
shadow_inset="rgba(0,0,0,0.05) 0px 2px 4px 0px inset",
|
| 269 |
+
shadow_spread="3px",
|
| 270 |
+
shadow_spread_dark="1px",
|
| 271 |
+
slider_color="*primary_600",
|
| 272 |
+
slider_color_dark="*primary_600",
|
| 273 |
+
stat_background_fill="*primary_500",
|
| 274 |
+
stat_background_fill_dark="*primary_500",
|
| 275 |
+
table_border_color="*neutral_700",
|
| 276 |
+
table_border_color_dark="*neutral_700",
|
| 277 |
+
table_even_background_fill="*neutral_950",
|
| 278 |
+
table_even_background_fill_dark="*neutral_950",
|
| 279 |
+
table_odd_background_fill="*neutral_900",
|
| 280 |
+
table_odd_background_fill_dark="*neutral_900",
|
| 281 |
+
table_radius="*radius_lg",
|
| 282 |
+
table_row_focus="*color_accent_soft",
|
| 283 |
+
table_row_focus_dark="*color_accent_soft",
|
| 284 |
+
)
|
assets/themes/loadThemes.py
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import ast
|
| 2 |
+
import json
|
| 3 |
+
import os
|
| 4 |
+
import importlib
|
| 5 |
+
import requests
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
folder = os.path.dirname(os.path.abspath(__file__))
|
| 9 |
+
folder = os.path.dirname(folder)
|
| 10 |
+
folder = os.path.dirname(folder)
|
| 11 |
+
folder = os.path.join(folder, "assets", "themes")
|
| 12 |
+
|
| 13 |
+
import sys
|
| 14 |
+
|
| 15 |
+
sys.path.append(folder)
|
| 16 |
+
|
| 17 |
+
|
| 18 |
+
def get_class(filename):
|
| 19 |
+
with open(filename, "r") as f:
|
| 20 |
+
for line_number, line in enumerate(f, start=1):
|
| 21 |
+
if "class " in line:
|
| 22 |
+
found = line.split("class ")[1].split(":")[0].split("(")[0].strip()
|
| 23 |
+
return found
|
| 24 |
+
break
|
| 25 |
+
return None
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def get_list():
|
| 29 |
+
|
| 30 |
+
themes_from_files = [
|
| 31 |
+
os.path.splitext(name)[0]
|
| 32 |
+
for root, _, files in os.walk(folder, topdown=False)
|
| 33 |
+
for name in files
|
| 34 |
+
if name.endswith(".py") and root == folder
|
| 35 |
+
]
|
| 36 |
+
|
| 37 |
+
json_file_path = os.path.join(folder, "theme_list.json")
|
| 38 |
+
|
| 39 |
+
try:
|
| 40 |
+
with open(json_file_path, "r") as json_file:
|
| 41 |
+
themes_from_url = [item["id"] for item in json.load(json_file)]
|
| 42 |
+
except FileNotFoundError:
|
| 43 |
+
themes_from_url = []
|
| 44 |
+
|
| 45 |
+
combined_themes = set(themes_from_files + themes_from_url)
|
| 46 |
+
|
| 47 |
+
return list(combined_themes)
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
def select_theme(name):
|
| 51 |
+
selected_file = name + ".py"
|
| 52 |
+
full_path = os.path.join(folder, selected_file)
|
| 53 |
+
if not os.path.exists(full_path):
|
| 54 |
+
with open(os.path.join(folder, "theme.json"), "w") as json_file:
|
| 55 |
+
json.dump({"file": None, "class": name}, json_file)
|
| 56 |
+
print(f"Theme {name} successfully selected, restart applio.")
|
| 57 |
+
return
|
| 58 |
+
class_found = get_class(full_path)
|
| 59 |
+
if class_found:
|
| 60 |
+
with open(os.path.join(folder, "theme.json"), "w") as json_file:
|
| 61 |
+
json.dump({"file": selected_file, "class": class_found}, json_file)
|
| 62 |
+
print(f"Theme {name} successfully selected, restart applio.")
|
| 63 |
+
else:
|
| 64 |
+
print(f"Theme {name} was not found.")
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
def read_json():
|
| 68 |
+
json_file_name = os.path.join(folder, "theme.json")
|
| 69 |
+
try:
|
| 70 |
+
with open(json_file_name, "r") as json_file:
|
| 71 |
+
data = json.load(json_file)
|
| 72 |
+
selected_file = data.get("file")
|
| 73 |
+
class_name = data.get("class")
|
| 74 |
+
if not selected_file == None and class_name:
|
| 75 |
+
return class_name
|
| 76 |
+
elif selected_file == None and class_name:
|
| 77 |
+
return class_name
|
| 78 |
+
else:
|
| 79 |
+
return "ParityError/Interstellar"
|
| 80 |
+
except:
|
| 81 |
+
return "ParityError/Interstellar"
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def load_json():
|
| 85 |
+
json_file_name = os.path.join(folder, "theme.json")
|
| 86 |
+
try:
|
| 87 |
+
with open(json_file_name, "r") as json_file:
|
| 88 |
+
data = json.load(json_file)
|
| 89 |
+
selected_file = data.get("file")
|
| 90 |
+
class_name = data.get("class")
|
| 91 |
+
if not selected_file == None and class_name:
|
| 92 |
+
module = importlib.import_module(selected_file[:-3])
|
| 93 |
+
obtained_class = getattr(module, class_name)
|
| 94 |
+
instance = obtained_class()
|
| 95 |
+
print(f"Theme Loaded: {class_name}")
|
| 96 |
+
return instance
|
| 97 |
+
elif selected_file == None and class_name:
|
| 98 |
+
return class_name
|
| 99 |
+
else:
|
| 100 |
+
print("The theme is incorrect.")
|
| 101 |
+
return None
|
| 102 |
+
except Exception as e:
|
| 103 |
+
print(f"Error Loading: {str(e)}")
|
| 104 |
+
return None
|
assets/themes/theme.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"file": null, "class": "naughtondale/monochrome"}
|
assets/themes/theme_list.json
ADDED
|
@@ -0,0 +1,751 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"id": "freddyaboulton/dracula_revamped",
|
| 4 |
+
"likes": 10,
|
| 5 |
+
"sha": "1cc28500a01a5e7b2605e45d2cf6260bd8c12d81",
|
| 6 |
+
"lastModified": "2023-03-23T19:46:29.000Z",
|
| 7 |
+
"screenshot_id": "freddyaboulton_dracula_revamped"
|
| 8 |
+
},
|
| 9 |
+
{
|
| 10 |
+
"id": "freddyaboulton/bad-theme-space",
|
| 11 |
+
"likes": 0,
|
| 12 |
+
"sha": "3fe08b94b1198880d81bbb84f4f50a39f9588a30",
|
| 13 |
+
"lastModified": "2023-03-14T20:39:44.000Z",
|
| 14 |
+
"screenshot_id": "freddyaboulton_bad-theme-space"
|
| 15 |
+
},
|
| 16 |
+
{
|
| 17 |
+
"id": "gradio/dracula_revamped",
|
| 18 |
+
"likes": 0,
|
| 19 |
+
"sha": "c1eb05480372de759eeb6e7f90c2ce962f3970c5",
|
| 20 |
+
"lastModified": "2023-06-23T22:34:32.000Z",
|
| 21 |
+
"screenshot_id": "gradio_dracula_revamped"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"id": "abidlabs/dracula_revamped",
|
| 25 |
+
"likes": 0,
|
| 26 |
+
"sha": "efd80ef5dd8744768f514b590d5c74b4de0a80d4",
|
| 27 |
+
"lastModified": "2023-03-19T02:44:09.000Z",
|
| 28 |
+
"screenshot_id": "abidlabs_dracula_revamped"
|
| 29 |
+
},
|
| 30 |
+
{
|
| 31 |
+
"id": "gradio/dracula_test",
|
| 32 |
+
"likes": 0,
|
| 33 |
+
"sha": "e75886284101799069dfcaaea391d7a89818dc6d",
|
| 34 |
+
"lastModified": "2023-06-11T00:24:51.000Z",
|
| 35 |
+
"screenshot_id": "gradio_dracula_test"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"id": "abidlabs/dracula_test",
|
| 39 |
+
"likes": 0,
|
| 40 |
+
"sha": "1f34e8290994eabf1c3e35bf347020b41ae5d225",
|
| 41 |
+
"lastModified": "2023-03-19T03:01:17.000Z",
|
| 42 |
+
"screenshot_id": "abidlabs_dracula_test"
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"id": "gradio/seafoam",
|
| 46 |
+
"likes": 4,
|
| 47 |
+
"sha": "9509787c82360cbae3cb1211ef47a87d56390e37",
|
| 48 |
+
"lastModified": "2023-03-20T15:02:43.000Z",
|
| 49 |
+
"screenshot_id": "gradio_seafoam"
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"id": "gradio/glass",
|
| 53 |
+
"likes": 0,
|
| 54 |
+
"sha": "35109b62b14d326a8e6e0fe09ef3a3b42b314f4d",
|
| 55 |
+
"lastModified": "2023-03-20T19:29:05.000Z",
|
| 56 |
+
"screenshot_id": "gradio_glass"
|
| 57 |
+
},
|
| 58 |
+
{
|
| 59 |
+
"id": "gradio/monochrome",
|
| 60 |
+
"likes": 7,
|
| 61 |
+
"sha": "96e9df3769c5f77a12814afaf150f08a6199c86d",
|
| 62 |
+
"lastModified": "2023-03-20T19:29:07.000Z",
|
| 63 |
+
"screenshot_id": "gradio_monochrome"
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"id": "gradio/soft",
|
| 67 |
+
"likes": 5,
|
| 68 |
+
"sha": "e08938f43ce81181604f3aef79e9f8742f4416c5",
|
| 69 |
+
"lastModified": "2023-05-04T21:43:25.000Z",
|
| 70 |
+
"screenshot_id": "gradio_soft"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"id": "gradio/default",
|
| 74 |
+
"likes": 2,
|
| 75 |
+
"sha": "9985aefbea7c40c49a0244096d11c2efc91bf3b4",
|
| 76 |
+
"lastModified": "2023-03-20T20:39:07.000Z",
|
| 77 |
+
"screenshot_id": "gradio_default"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"id": "gradio/base",
|
| 81 |
+
"likes": 1,
|
| 82 |
+
"sha": "b68adc18343e4c2ad5ea19c4b306caf31c908135",
|
| 83 |
+
"lastModified": "2023-03-20T20:39:09.000Z",
|
| 84 |
+
"screenshot_id": "gradio_base"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"id": "abidlabs/pakistan",
|
| 88 |
+
"likes": 4,
|
| 89 |
+
"sha": "e7869fba77f0cb20180346b703f924eae7eec3a7",
|
| 90 |
+
"lastModified": "2023-03-21T17:20:50.000Z",
|
| 91 |
+
"screenshot_id": "abidlabs_pakistan"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"id": "dawood/microsoft_windows",
|
| 95 |
+
"likes": 3,
|
| 96 |
+
"sha": "6dd26f1c3e4ae69e54b62be83574b22f08393d97",
|
| 97 |
+
"lastModified": "2023-03-21T02:09:15.000Z",
|
| 98 |
+
"screenshot_id": "dawood_microsoft_windows"
|
| 99 |
+
},
|
| 100 |
+
{
|
| 101 |
+
"id": "ysharma/steampunk",
|
| 102 |
+
"likes": 3,
|
| 103 |
+
"sha": "7f751b2c0a01ec7242a3e2ad4d3c18dcace11b40",
|
| 104 |
+
"lastModified": "2023-03-21T14:07:23.000Z",
|
| 105 |
+
"screenshot_id": "ysharma_steampunk"
|
| 106 |
+
},
|
| 107 |
+
{
|
| 108 |
+
"id": "ysharma/huggingface",
|
| 109 |
+
"likes": 0,
|
| 110 |
+
"sha": "70faa80d1b57da921efc91bf686a19f171960042",
|
| 111 |
+
"lastModified": "2023-03-22T10:31:26.000Z",
|
| 112 |
+
"screenshot_id": "ysharma_huggingface"
|
| 113 |
+
},
|
| 114 |
+
{
|
| 115 |
+
"id": "gstaff/xkcd",
|
| 116 |
+
"likes": 14,
|
| 117 |
+
"sha": "d06e815d121a7219af517a42ed374c8d3b91fee9",
|
| 118 |
+
"lastModified": "2023-03-30T03:05:57.000Z",
|
| 119 |
+
"screenshot_id": "gstaff_xkcd"
|
| 120 |
+
},
|
| 121 |
+
{
|
| 122 |
+
"id": "JohnSmith9982/small_and_pretty",
|
| 123 |
+
"likes": 11,
|
| 124 |
+
"sha": "46ce99ba8351c9a10c9ec6d353d3724e6090c610",
|
| 125 |
+
"lastModified": "2023-03-29T06:06:56.000Z",
|
| 126 |
+
"screenshot_id": "JohnSmith9982_small_and_pretty"
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"id": "abidlabs/Lime",
|
| 130 |
+
"likes": 1,
|
| 131 |
+
"sha": "7bba131266c5a9f0ecc9e5547506a9bcb9cd579c",
|
| 132 |
+
"lastModified": "2023-03-29T17:15:34.000Z",
|
| 133 |
+
"screenshot_id": "abidlabs_Lime"
|
| 134 |
+
},
|
| 135 |
+
{
|
| 136 |
+
"id": "freddyaboulton/this-theme-does-not-exist-2",
|
| 137 |
+
"likes": 0,
|
| 138 |
+
"sha": "a380539363e2ee4fa32da5a8d3489cb5761f7ed0",
|
| 139 |
+
"lastModified": "2023-03-29T18:16:28.000Z",
|
| 140 |
+
"screenshot_id": "freddyaboulton_this-theme-does-not-exist-2"
|
| 141 |
+
},
|
| 142 |
+
{
|
| 143 |
+
"id": "aliabid94/new-theme",
|
| 144 |
+
"likes": 1,
|
| 145 |
+
"sha": "2f889da096d7c7d65d2b692621d52b93759f64a5",
|
| 146 |
+
"lastModified": "2023-03-29T18:18:51.000Z",
|
| 147 |
+
"screenshot_id": "aliabid94_new-theme"
|
| 148 |
+
},
|
| 149 |
+
{
|
| 150 |
+
"id": "aliabid94/test2",
|
| 151 |
+
"likes": 0,
|
| 152 |
+
"sha": "b8fadd91c32ebaf16dbed2bee0c49b33e4179d66",
|
| 153 |
+
"lastModified": "2023-03-29T18:31:23.000Z",
|
| 154 |
+
"screenshot_id": "aliabid94_test2"
|
| 155 |
+
},
|
| 156 |
+
{
|
| 157 |
+
"id": "aliabid94/test3",
|
| 158 |
+
"likes": 0,
|
| 159 |
+
"sha": "2cad15308144ec11c3282aaa488941ae08b07fbe",
|
| 160 |
+
"lastModified": "2023-03-29T21:30:19.000Z",
|
| 161 |
+
"screenshot_id": "aliabid94_test3"
|
| 162 |
+
},
|
| 163 |
+
{
|
| 164 |
+
"id": "aliabid94/test4",
|
| 165 |
+
"likes": 0,
|
| 166 |
+
"sha": "a8662c0a010747b7f1defc91d7267aa56c54cbcc",
|
| 167 |
+
"lastModified": "2023-03-29T21:32:08.000Z",
|
| 168 |
+
"screenshot_id": "aliabid94_test4"
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"id": "abidlabs/banana",
|
| 172 |
+
"likes": 0,
|
| 173 |
+
"sha": "4f981b594f3d41a97342b908242b4f2f7030eefe",
|
| 174 |
+
"lastModified": "2023-03-29T21:47:20.000Z",
|
| 175 |
+
"screenshot_id": "abidlabs_banana"
|
| 176 |
+
},
|
| 177 |
+
{
|
| 178 |
+
"id": "freddyaboulton/test-blue",
|
| 179 |
+
"likes": 1,
|
| 180 |
+
"sha": "a1a13769927435a9f3429b60dc85a1bd3ddcc499",
|
| 181 |
+
"lastModified": "2023-03-29T22:29:19.000Z",
|
| 182 |
+
"screenshot_id": "freddyaboulton_test-blue"
|
| 183 |
+
},
|
| 184 |
+
{
|
| 185 |
+
"id": "gstaff/sketch",
|
| 186 |
+
"likes": 5,
|
| 187 |
+
"sha": "607f3e07d3065c1607ddf6896811820131aded96",
|
| 188 |
+
"lastModified": "2023-03-30T03:14:26.000Z",
|
| 189 |
+
"screenshot_id": "gstaff_sketch"
|
| 190 |
+
},
|
| 191 |
+
{
|
| 192 |
+
"id": "gstaff/whiteboard",
|
| 193 |
+
"likes": 5,
|
| 194 |
+
"sha": "5a3f849daf673e7dfa142af0b686f8292b3b2553",
|
| 195 |
+
"lastModified": "2023-03-30T03:21:09.000Z",
|
| 196 |
+
"screenshot_id": "gstaff_whiteboard"
|
| 197 |
+
},
|
| 198 |
+
{
|
| 199 |
+
"id": "ysharma/llamas",
|
| 200 |
+
"likes": 1,
|
| 201 |
+
"sha": "9778b106b1384ef3fedf39d3494048aa653469ca",
|
| 202 |
+
"lastModified": "2023-03-31T14:34:13.000Z",
|
| 203 |
+
"screenshot_id": "ysharma_llamas"
|
| 204 |
+
},
|
| 205 |
+
{
|
| 206 |
+
"id": "abidlabs/font-test",
|
| 207 |
+
"likes": 0,
|
| 208 |
+
"sha": "ebe83851cc8cf974cd25a3ca604c9608085652e3",
|
| 209 |
+
"lastModified": "2023-03-31T13:58:24.000Z",
|
| 210 |
+
"screenshot_id": "abidlabs_font-test"
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"id": "YenLai/Superhuman",
|
| 214 |
+
"likes": 2,
|
| 215 |
+
"sha": "e949b1ca49ed2eb75951571d155c78e21cc108ca",
|
| 216 |
+
"lastModified": "2023-03-31T15:33:42.000Z",
|
| 217 |
+
"screenshot_id": "YenLai_Superhuman"
|
| 218 |
+
},
|
| 219 |
+
{
|
| 220 |
+
"id": "bethecloud/storj_theme",
|
| 221 |
+
"likes": 14,
|
| 222 |
+
"sha": "ccf66871a4dae6efa98c62239cafec38489578c8",
|
| 223 |
+
"lastModified": "2023-04-03T18:28:39.000Z",
|
| 224 |
+
"screenshot_id": "bethecloud_storj_theme"
|
| 225 |
+
},
|
| 226 |
+
{
|
| 227 |
+
"id": "sudeepshouche/minimalist",
|
| 228 |
+
"likes": 6,
|
| 229 |
+
"sha": "0a4e1b7692d9c027e49fcf9ed3dea2f6fc7e4667",
|
| 230 |
+
"lastModified": "2023-04-01T13:42:52.000Z",
|
| 231 |
+
"screenshot_id": "sudeepshouche_minimalist"
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"id": "knotdgaf/gradiotest",
|
| 235 |
+
"likes": 1,
|
| 236 |
+
"sha": "16a5d6eb98e349baa104f2791bbcf706b3b56961",
|
| 237 |
+
"lastModified": "2023-04-01T15:46:21.000Z",
|
| 238 |
+
"screenshot_id": "knotdgaf_gradiotest"
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"id": "ParityError/Interstellar",
|
| 242 |
+
"likes": 3,
|
| 243 |
+
"sha": "7f604b2dca6ea3b15f2704590cf4eae76735c5a2",
|
| 244 |
+
"lastModified": "2023-04-03T01:11:42.000Z",
|
| 245 |
+
"screenshot_id": "ParityError_Interstellar"
|
| 246 |
+
},
|
| 247 |
+
{
|
| 248 |
+
"id": "ParityError/Anime",
|
| 249 |
+
"likes": 8,
|
| 250 |
+
"sha": "b20cc125bcaf3c758a44b60c5420cae20ae81234",
|
| 251 |
+
"lastModified": "2023-04-03T07:19:29.000Z",
|
| 252 |
+
"screenshot_id": "ParityError_Anime"
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"id": "Ajaxon6255/Emerald_Isle",
|
| 256 |
+
"likes": 2,
|
| 257 |
+
"sha": "8d66d68389bd768c6eaa8ee92200ed14fe0dff6a",
|
| 258 |
+
"lastModified": "2023-04-03T04:28:52.000Z",
|
| 259 |
+
"screenshot_id": "Ajaxon6255_Emerald_Isle"
|
| 260 |
+
},
|
| 261 |
+
{
|
| 262 |
+
"id": "ParityError/LimeFace",
|
| 263 |
+
"likes": 3,
|
| 264 |
+
"sha": "0296aa95034a011e96af5e6772fdb99d42ddddaa",
|
| 265 |
+
"lastModified": "2023-04-04T21:13:50.000Z",
|
| 266 |
+
"screenshot_id": "ParityError_LimeFace"
|
| 267 |
+
},
|
| 268 |
+
{
|
| 269 |
+
"id": "finlaymacklon/smooth_slate",
|
| 270 |
+
"likes": 6,
|
| 271 |
+
"sha": "e763d0f81b66471eb34c2808a273ace2630578f6",
|
| 272 |
+
"lastModified": "2023-04-04T01:54:26.000Z",
|
| 273 |
+
"screenshot_id": "finlaymacklon_smooth_slate"
|
| 274 |
+
},
|
| 275 |
+
{
|
| 276 |
+
"id": "finlaymacklon/boxy_violet",
|
| 277 |
+
"likes": 3,
|
| 278 |
+
"sha": "3a2affb3e88997c5b90bb3ff6f102390a3422258",
|
| 279 |
+
"lastModified": "2023-04-04T02:50:22.000Z",
|
| 280 |
+
"screenshot_id": "finlaymacklon_boxy_violet"
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"id": "derekzen/stardust",
|
| 284 |
+
"likes": 0,
|
| 285 |
+
"sha": "d4ebd83addcf01740267ed5d5ea7e9182b31d16d",
|
| 286 |
+
"lastModified": "2023-04-06T15:54:34.000Z",
|
| 287 |
+
"screenshot_id": "derekzen_stardust"
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"id": "EveryPizza/Cartoony-Gradio-Theme",
|
| 291 |
+
"likes": 2,
|
| 292 |
+
"sha": "1ca8980c5a1831bab3408e6830d59143c3354cb7",
|
| 293 |
+
"lastModified": "2023-04-06T18:39:28.000Z",
|
| 294 |
+
"screenshot_id": "EveryPizza_Cartoony-Gradio-Theme"
|
| 295 |
+
},
|
| 296 |
+
{
|
| 297 |
+
"id": "Ifeanyi/Cyanister",
|
| 298 |
+
"likes": 0,
|
| 299 |
+
"sha": "9e4d14e63ab3757d6565bfd4bb6f8e34a9c53b9d",
|
| 300 |
+
"lastModified": "2023-06-30T07:48:07.000Z",
|
| 301 |
+
"screenshot_id": "Ifeanyi_Cyanister"
|
| 302 |
+
},
|
| 303 |
+
{
|
| 304 |
+
"id": "Tshackelton/IBMPlex-DenseReadable",
|
| 305 |
+
"likes": 1,
|
| 306 |
+
"sha": "05c02cb24e349452f14fc2f027055454d9ed195e",
|
| 307 |
+
"lastModified": "2023-04-07T03:25:11.000Z",
|
| 308 |
+
"screenshot_id": "Tshackelton_IBMPlex-DenseReadable"
|
| 309 |
+
},
|
| 310 |
+
{
|
| 311 |
+
"id": "snehilsanyal/scikit-learn",
|
| 312 |
+
"likes": 1,
|
| 313 |
+
"sha": "2af5369fed84af9ed119e2bb23c17f986fc3b49d",
|
| 314 |
+
"lastModified": "2023-04-08T19:10:45.000Z",
|
| 315 |
+
"screenshot_id": "snehilsanyal_scikit-learn"
|
| 316 |
+
},
|
| 317 |
+
{
|
| 318 |
+
"id": "Himhimhim/xkcd",
|
| 319 |
+
"likes": 0,
|
| 320 |
+
"sha": "111e426d5277a226be694b96831b0b0b1ed65118",
|
| 321 |
+
"lastModified": "2023-04-10T17:04:28.000Z",
|
| 322 |
+
"screenshot_id": "Himhimhim_xkcd"
|
| 323 |
+
},
|
| 324 |
+
{
|
| 325 |
+
"id": "shivi/calm_seafoam",
|
| 326 |
+
"likes": 3,
|
| 327 |
+
"sha": "58f305b41e0cce34f874313a5b6fe920a9a92404",
|
| 328 |
+
"lastModified": "2023-04-14T21:11:43.000Z",
|
| 329 |
+
"screenshot_id": "shivi_calm_seafoam"
|
| 330 |
+
},
|
| 331 |
+
{
|
| 332 |
+
"id": "nota-ai/theme",
|
| 333 |
+
"likes": 3,
|
| 334 |
+
"sha": "7256dd32c053cc6b06e381d80848e4de6d45d67f",
|
| 335 |
+
"lastModified": "2023-07-18T01:57:48.000Z",
|
| 336 |
+
"screenshot_id": "nota-ai_theme"
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"id": "rawrsor1/Everforest",
|
| 340 |
+
"likes": 0,
|
| 341 |
+
"sha": "eb673345952d1b1df2adf3a3700a9ea18f329a64",
|
| 342 |
+
"lastModified": "2023-04-18T07:11:52.000Z",
|
| 343 |
+
"screenshot_id": "rawrsor1_Everforest"
|
| 344 |
+
},
|
| 345 |
+
{
|
| 346 |
+
"id": "SebastianBravo/simci_css",
|
| 347 |
+
"likes": 2,
|
| 348 |
+
"sha": "4f46131c6a54398d36859b3bf54c0b4e29914537",
|
| 349 |
+
"lastModified": "2023-04-21T06:32:21.000Z",
|
| 350 |
+
"screenshot_id": "SebastianBravo_simci_css"
|
| 351 |
+
},
|
| 352 |
+
{
|
| 353 |
+
"id": "rottenlittlecreature/Moon_Goblin",
|
| 354 |
+
"likes": 1,
|
| 355 |
+
"sha": "470661a89252eebfdf48f93e5bfbe7495e948565",
|
| 356 |
+
"lastModified": "2023-04-27T04:35:34.000Z",
|
| 357 |
+
"screenshot_id": "rottenlittlecreature_Moon_Goblin"
|
| 358 |
+
},
|
| 359 |
+
{
|
| 360 |
+
"id": "abidlabs/test-yellow",
|
| 361 |
+
"likes": 0,
|
| 362 |
+
"sha": "941816b525f270fa2753af7b5977f26523e434f3",
|
| 363 |
+
"lastModified": "2023-04-25T00:19:36.000Z",
|
| 364 |
+
"screenshot_id": "abidlabs_test-yellow"
|
| 365 |
+
},
|
| 366 |
+
{
|
| 367 |
+
"id": "abidlabs/test-yellow3",
|
| 368 |
+
"likes": 0,
|
| 369 |
+
"sha": "98468b5d715e6ac8030976a47cf4cf489bebf406",
|
| 370 |
+
"lastModified": "2023-04-25T00:46:07.000Z",
|
| 371 |
+
"screenshot_id": "abidlabs_test-yellow3"
|
| 372 |
+
},
|
| 373 |
+
{
|
| 374 |
+
"id": "idspicQstitho/dracula_revamped",
|
| 375 |
+
"likes": 0,
|
| 376 |
+
"sha": "e9563fce60dc1bc1f12e1529a935ce26596a353a",
|
| 377 |
+
"lastModified": "2023-07-02T16:37:11.000Z",
|
| 378 |
+
"screenshot_id": "idspicQstitho_dracula_revamped"
|
| 379 |
+
},
|
| 380 |
+
{
|
| 381 |
+
"id": "kfahn/AnimalPose",
|
| 382 |
+
"likes": 0,
|
| 383 |
+
"sha": "07390407d03456a58f6bc33a99773e6f1ee07e2a",
|
| 384 |
+
"lastModified": "2023-05-02T14:10:38.000Z",
|
| 385 |
+
"screenshot_id": "kfahn_AnimalPose"
|
| 386 |
+
},
|
| 387 |
+
{
|
| 388 |
+
"id": "HaleyCH/HaleyCH_Theme",
|
| 389 |
+
"likes": 4,
|
| 390 |
+
"sha": "0ad24ea15844ee5bdfecd122a438536008ef9c13",
|
| 391 |
+
"lastModified": "2023-05-01T14:55:54.000Z",
|
| 392 |
+
"screenshot_id": "HaleyCH_HaleyCH_Theme"
|
| 393 |
+
},
|
| 394 |
+
{
|
| 395 |
+
"id": "simulKitke/dracula_test",
|
| 396 |
+
"likes": 0,
|
| 397 |
+
"sha": "a6c39308892f82fdba58a34b28008b557d68024f",
|
| 398 |
+
"lastModified": "2023-07-01T11:16:49.000Z",
|
| 399 |
+
"screenshot_id": "simulKitke_dracula_test"
|
| 400 |
+
},
|
| 401 |
+
{
|
| 402 |
+
"id": "braintacles/CrimsonNight",
|
| 403 |
+
"likes": 0,
|
| 404 |
+
"sha": "40f28be62631e1bfb670d3f8adfb8359ccff1b59",
|
| 405 |
+
"lastModified": "2023-05-04T02:24:37.000Z",
|
| 406 |
+
"screenshot_id": "braintacles_CrimsonNight"
|
| 407 |
+
},
|
| 408 |
+
{
|
| 409 |
+
"id": "wentaohe/whiteboardv2",
|
| 410 |
+
"likes": 0,
|
| 411 |
+
"sha": "0fa1b6a39c6a0c2a47aa9bcd29cce285857acb74",
|
| 412 |
+
"lastModified": "2023-05-05T17:12:48.000Z",
|
| 413 |
+
"screenshot_id": "wentaohe_whiteboardv2"
|
| 414 |
+
},
|
| 415 |
+
{
|
| 416 |
+
"id": "reilnuud/polite",
|
| 417 |
+
"likes": 1,
|
| 418 |
+
"sha": "eabe137d534934744c2c64b5204244af9b79d806",
|
| 419 |
+
"lastModified": "2023-05-05T20:58:11.000Z",
|
| 420 |
+
"screenshot_id": "reilnuud_polite"
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"id": "remilia/Ghostly",
|
| 424 |
+
"likes": 1,
|
| 425 |
+
"sha": "6552d91a2d81d2c7481f328fe0fa7f3b70f82e99",
|
| 426 |
+
"lastModified": "2023-05-11T20:28:34.000Z",
|
| 427 |
+
"screenshot_id": "remilia_Ghostly"
|
| 428 |
+
},
|
| 429 |
+
{
|
| 430 |
+
"id": "Franklisi/darkmode",
|
| 431 |
+
"likes": 0,
|
| 432 |
+
"sha": "54ee9086c8bbc4b11b9a4c2ce7959db45b1cbd96",
|
| 433 |
+
"lastModified": "2023-05-20T00:48:03.000Z",
|
| 434 |
+
"screenshot_id": "Franklisi_darkmode"
|
| 435 |
+
},
|
| 436 |
+
{
|
| 437 |
+
"id": "coding-alt/soft",
|
| 438 |
+
"likes": 0,
|
| 439 |
+
"sha": "b7c174e1289263db3bd8f268ef9e5b8707ef26ca",
|
| 440 |
+
"lastModified": "2023-05-24T08:41:09.000Z",
|
| 441 |
+
"screenshot_id": "coding-alt_soft"
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"id": "xiaobaiyuan/theme_land",
|
| 445 |
+
"likes": 1,
|
| 446 |
+
"sha": "b6c1b9bf490c3a542860a38667ac357fedae5ead",
|
| 447 |
+
"lastModified": "2023-06-10T07:49:57.000Z",
|
| 448 |
+
"screenshot_id": "xiaobaiyuan_theme_land"
|
| 449 |
+
},
|
| 450 |
+
{
|
| 451 |
+
"id": "step-3-profit/Midnight-Deep",
|
| 452 |
+
"likes": 1,
|
| 453 |
+
"sha": "a0ccf4a9e8ca399e7cff8a381b524fd69ce28868",
|
| 454 |
+
"lastModified": "2023-05-27T09:06:52.000Z",
|
| 455 |
+
"screenshot_id": "step-3-profit_Midnight-Deep"
|
| 456 |
+
},
|
| 457 |
+
{
|
| 458 |
+
"id": "xiaobaiyuan/theme_demo",
|
| 459 |
+
"likes": 0,
|
| 460 |
+
"sha": "0efce78e4e9815d7fdb5beb3ab0f27e9e9a93dfd",
|
| 461 |
+
"lastModified": "2023-05-27T16:38:54.000Z",
|
| 462 |
+
"screenshot_id": "xiaobaiyuan_theme_demo"
|
| 463 |
+
},
|
| 464 |
+
{
|
| 465 |
+
"id": "Taithrah/Minimal",
|
| 466 |
+
"likes": 0,
|
| 467 |
+
"sha": "b3efc95e5bf40382d049a194e4a2c043bcd88900",
|
| 468 |
+
"lastModified": "2023-07-06T23:10:18.000Z",
|
| 469 |
+
"screenshot_id": "Taithrah_Minimal"
|
| 470 |
+
},
|
| 471 |
+
{
|
| 472 |
+
"id": "Insuz/SimpleIndigo",
|
| 473 |
+
"likes": 0,
|
| 474 |
+
"sha": "3184021c56adbf924658521388c705abe778ede7",
|
| 475 |
+
"lastModified": "2023-06-05T23:08:29.000Z",
|
| 476 |
+
"screenshot_id": "Insuz_SimpleIndigo"
|
| 477 |
+
},
|
| 478 |
+
{
|
| 479 |
+
"id": "zkunn/Alipay_Gradio_theme",
|
| 480 |
+
"likes": 1,
|
| 481 |
+
"sha": "93407d4ecdeef5f282ea6e221b5c12463cd5c840",
|
| 482 |
+
"lastModified": "2023-06-06T12:30:25.000Z",
|
| 483 |
+
"screenshot_id": "zkunn_Alipay_Gradio_theme"
|
| 484 |
+
},
|
| 485 |
+
{
|
| 486 |
+
"id": "Insuz/Mocha",
|
| 487 |
+
"likes": 1,
|
| 488 |
+
"sha": "386cd8cedf80e6d0ad3a94a40c723f00b177ed76",
|
| 489 |
+
"lastModified": "2023-06-08T09:41:27.000Z",
|
| 490 |
+
"screenshot_id": "Insuz_Mocha"
|
| 491 |
+
},
|
| 492 |
+
{
|
| 493 |
+
"id": "xiaobaiyuan/theme_brief",
|
| 494 |
+
"likes": 0,
|
| 495 |
+
"sha": "a80c4b450c7a9bf7a925465578d494c89171b4ac",
|
| 496 |
+
"lastModified": "2023-06-10T04:44:42.000Z",
|
| 497 |
+
"screenshot_id": "xiaobaiyuan_theme_brief"
|
| 498 |
+
},
|
| 499 |
+
{
|
| 500 |
+
"id": "Ama434/434-base-Barlow",
|
| 501 |
+
"likes": 0,
|
| 502 |
+
"sha": "34aa703bd83fbe0c9b8ab5cf44b64ee9b3a1b82f",
|
| 503 |
+
"lastModified": "2023-06-10T16:49:10.000Z",
|
| 504 |
+
"screenshot_id": "Ama434_434-base-Barlow"
|
| 505 |
+
},
|
| 506 |
+
{
|
| 507 |
+
"id": "Ama434/def_barlow",
|
| 508 |
+
"likes": 0,
|
| 509 |
+
"sha": "2b31ff91bad69790c6e6df83127dc650d6d29239",
|
| 510 |
+
"lastModified": "2023-06-10T17:37:57.000Z",
|
| 511 |
+
"screenshot_id": "Ama434_def_barlow"
|
| 512 |
+
},
|
| 513 |
+
{
|
| 514 |
+
"id": "Ama434/neutral-barlow",
|
| 515 |
+
"likes": 1,
|
| 516 |
+
"sha": "f1d041482761ceab666dbb8dc674d86c53ca54bd",
|
| 517 |
+
"lastModified": "2023-06-10T18:04:03.000Z",
|
| 518 |
+
"screenshot_id": "Ama434_neutral-barlow"
|
| 519 |
+
},
|
| 520 |
+
{
|
| 521 |
+
"id": "dawood/dracula_test",
|
| 522 |
+
"likes": 0,
|
| 523 |
+
"sha": "903e5b7519138881215eb0d249e29e2fe8e8a024",
|
| 524 |
+
"lastModified": "2023-06-11T00:06:06.000Z",
|
| 525 |
+
"screenshot_id": "dawood_dracula_test"
|
| 526 |
+
},
|
| 527 |
+
{
|
| 528 |
+
"id": "nuttea/Softblue",
|
| 529 |
+
"likes": 0,
|
| 530 |
+
"sha": "08ffb0293e2b1c9e32a68d2d0e039a2b7d2c2d11",
|
| 531 |
+
"lastModified": "2023-06-12T14:46:24.000Z",
|
| 532 |
+
"screenshot_id": "nuttea_Softblue"
|
| 533 |
+
},
|
| 534 |
+
{
|
| 535 |
+
"id": "BlueDancer/Alien_Diffusion",
|
| 536 |
+
"likes": 0,
|
| 537 |
+
"sha": "5667eb6299989d0deb9bddd36678aee016b733b4",
|
| 538 |
+
"lastModified": "2023-06-20T01:03:46.000Z",
|
| 539 |
+
"screenshot_id": "BlueDancer_Alien_Diffusion"
|
| 540 |
+
},
|
| 541 |
+
{
|
| 542 |
+
"id": "naughtondale/monochrome",
|
| 543 |
+
"likes": 0,
|
| 544 |
+
"sha": "a40746c7d69e3d733aa43d05033c3846603f59f1",
|
| 545 |
+
"lastModified": "2023-07-05T16:30:37.000Z",
|
| 546 |
+
"screenshot_id": "naughtondale_monochrome"
|
| 547 |
+
},
|
| 548 |
+
{
|
| 549 |
+
"id": "Dagfinn1962/standard",
|
| 550 |
+
"likes": 0,
|
| 551 |
+
"sha": "b238047d5dac739d27daeb14bd871249166788a0",
|
| 552 |
+
"lastModified": "2023-07-08T23:22:59.000Z",
|
| 553 |
+
"screenshot_id": "Dagfinn1962_standard"
|
| 554 |
+
},
|
| 555 |
+
{
|
| 556 |
+
"id": "Dagfinn1962/goodtheme",
|
| 557 |
+
"likes": 0,
|
| 558 |
+
"sha": "870ed9e826152256ba48b407538136712f6d5b35",
|
| 559 |
+
"lastModified": "2023-07-09T06:17:18.000Z",
|
| 560 |
+
"screenshot_id": "Dagfinn1962_goodtheme"
|
| 561 |
+
},
|
| 562 |
+
{
|
| 563 |
+
"id": "adam-haile/DSTheme",
|
| 564 |
+
"likes": 0,
|
| 565 |
+
"sha": "c45694423d44928ae827108905f7b9b0fb0f5091",
|
| 566 |
+
"lastModified": "2023-07-13T15:27:28.000Z",
|
| 567 |
+
"screenshot_id": "adam-haile_DSTheme"
|
| 568 |
+
},
|
| 569 |
+
{
|
| 570 |
+
"id": "karthikeyan-adople/hudsonhayes",
|
| 571 |
+
"likes": 0,
|
| 572 |
+
"sha": "fa1aeecfbb9601334d7ce631ebc11a1d1090d385",
|
| 573 |
+
"lastModified": "2023-07-15T09:28:19.000Z",
|
| 574 |
+
"screenshot_id": "karthikeyan-adople_hudsonhayes"
|
| 575 |
+
},
|
| 576 |
+
{
|
| 577 |
+
"id": "mindrage/darkmode_grey_red_condensed",
|
| 578 |
+
"likes": 0,
|
| 579 |
+
"sha": "3164eec463ee4f8e85e398c2d2bb9150c2960e2c",
|
| 580 |
+
"lastModified": "2023-07-17T11:14:28.000Z",
|
| 581 |
+
"screenshot_id": "mindrage_darkmode_grey_red_condensed"
|
| 582 |
+
},
|
| 583 |
+
{
|
| 584 |
+
"id": "mindrage/darkmode_grey_cyan_condensed",
|
| 585 |
+
"likes": 0,
|
| 586 |
+
"sha": "8519814e684eda3a2257e861db469d814e6b7865",
|
| 587 |
+
"lastModified": "2023-07-17T20:11:55.000Z",
|
| 588 |
+
"screenshot_id": "mindrage_darkmode_grey_cyan_condensed"
|
| 589 |
+
},
|
| 590 |
+
{
|
| 591 |
+
"id": "karthikeyan-adople/hudsonhayes-dark",
|
| 592 |
+
"likes": 0,
|
| 593 |
+
"sha": "0c9f3a1f9b69df51db340d2eae42c37e646f810e",
|
| 594 |
+
"lastModified": "2023-07-18T07:53:37.000Z",
|
| 595 |
+
"screenshot_id": "karthikeyan-adople_hudsonhayes-dark"
|
| 596 |
+
},
|
| 597 |
+
{
|
| 598 |
+
"id": "jingwora/calm_seafoam",
|
| 599 |
+
"likes": 0,
|
| 600 |
+
"sha": "8deebdbbadc8a374bcd4459ec6a8929596c9e0d1",
|
| 601 |
+
"lastModified": "2023-07-18T11:04:40.000Z",
|
| 602 |
+
"screenshot_id": "jingwora_calm_seafoam"
|
| 603 |
+
},
|
| 604 |
+
{
|
| 605 |
+
"id": "karthikeyan-adople/hudsonhayes-blue",
|
| 606 |
+
"likes": 0,
|
| 607 |
+
"sha": "a752039a807e2d352eb55f352a91371b5a51d3ca",
|
| 608 |
+
"lastModified": "2023-07-18T13:03:12.000Z",
|
| 609 |
+
"screenshot_id": "karthikeyan-adople_hudsonhayes-blue"
|
| 610 |
+
},
|
| 611 |
+
{
|
| 612 |
+
"id": "karthikeyan-adople/hudsonhayes-dark1",
|
| 613 |
+
"likes": 0,
|
| 614 |
+
"sha": "39ce1038cf2d1d6b189ef2d8d9add1de2a0974c5",
|
| 615 |
+
"lastModified": "2023-07-19T05:55:40.000Z",
|
| 616 |
+
"screenshot_id": "karthikeyan-adople_hudsonhayes-dark1"
|
| 617 |
+
},
|
| 618 |
+
{
|
| 619 |
+
"id": "Jameswiller/Globe",
|
| 620 |
+
"likes": 0,
|
| 621 |
+
"sha": "534f4cc09d206f89ad2dfc779fc15e42ad6266c2",
|
| 622 |
+
"lastModified": "2023-07-20T14:29:29.000Z",
|
| 623 |
+
"screenshot_id": "Jameswiller_Globe"
|
| 624 |
+
},
|
| 625 |
+
{
|
| 626 |
+
"id": "karthikeyan-adople/hudsonhayes-gray",
|
| 627 |
+
"likes": 0,
|
| 628 |
+
"sha": "f34a830663d9e11fd1d6d121481590790c8fb102",
|
| 629 |
+
"lastModified": "2023-07-21T12:44:13.000Z",
|
| 630 |
+
"screenshot_id": "karthikeyan-adople_hudsonhayes-gray"
|
| 631 |
+
},
|
| 632 |
+
{
|
| 633 |
+
"id": "patrickosornio/my_theme1",
|
| 634 |
+
"likes": 0,
|
| 635 |
+
"sha": "1c3c7e6eb7cdf262e0ddf266dfc9ea1af3b40d7c",
|
| 636 |
+
"lastModified": "2023-07-24T23:42:02.000Z",
|
| 637 |
+
"screenshot_id": "patrickosornio_my_theme1"
|
| 638 |
+
},
|
| 639 |
+
{
|
| 640 |
+
"id": "earneleh/paris",
|
| 641 |
+
"likes": 0,
|
| 642 |
+
"sha": "6bb627aa7597ae7f8ca82a2f21735ced98b38eb8",
|
| 643 |
+
"lastModified": "2023-07-25T02:05:00.000Z",
|
| 644 |
+
"screenshot_id": "earneleh_paris"
|
| 645 |
+
},
|
| 646 |
+
{
|
| 647 |
+
"id": "rezponze/TeeFussion",
|
| 648 |
+
"likes": 0,
|
| 649 |
+
"sha": "4b57e14ac3369d669aae6c98beaeaae95a282d99",
|
| 650 |
+
"lastModified": "2023-07-25T13:29:28.000Z",
|
| 651 |
+
"screenshot_id": "rezponze_TeeFussion"
|
| 652 |
+
},
|
| 653 |
+
{
|
| 654 |
+
"id": "etstertest/test",
|
| 655 |
+
"likes": 0,
|
| 656 |
+
"sha": "e86a268f7695c4780de7b5047f91ab8260255718",
|
| 657 |
+
"lastModified": "2023-07-25T15:36:59.000Z",
|
| 658 |
+
"screenshot_id": "etstertest_test"
|
| 659 |
+
},
|
| 660 |
+
{
|
| 661 |
+
"id": "dwancin/theme",
|
| 662 |
+
"likes": 0,
|
| 663 |
+
"sha": "993b1279634f5f63c2b9a0c5c9be26ab8e06a54f",
|
| 664 |
+
"lastModified": "2023-08-14T01:38:33.000Z",
|
| 665 |
+
"screenshot_id": "dwancin_theme"
|
| 666 |
+
},
|
| 667 |
+
{
|
| 668 |
+
"id": "Arkaine/Carl_Glow",
|
| 669 |
+
"likes": 0,
|
| 670 |
+
"sha": "577e313eeeffacb8edf4c3558ce0d2cf6c524caa",
|
| 671 |
+
"lastModified": "2023-07-31T08:53:51.000Z",
|
| 672 |
+
"screenshot_id": "Arkaine_Carl_Glow"
|
| 673 |
+
},
|
| 674 |
+
{
|
| 675 |
+
"id": "minatosnow/qaigpt",
|
| 676 |
+
"likes": 0,
|
| 677 |
+
"sha": "7f5b8e9f2a0269866217b681a37fa97d98dee746",
|
| 678 |
+
"lastModified": "2023-08-07T16:46:14.000Z",
|
| 679 |
+
"screenshot_id": "minatosnow_qaigpt"
|
| 680 |
+
},
|
| 681 |
+
{
|
| 682 |
+
"id": "DitchDenis/Denis",
|
| 683 |
+
"likes": 0,
|
| 684 |
+
"sha": "6eab339d65ae464ff29c60a07de019eabca95940",
|
| 685 |
+
"lastModified": "2023-08-05T09:27:43.000Z",
|
| 686 |
+
"screenshot_id": "DitchDenis_Denis"
|
| 687 |
+
},
|
| 688 |
+
{
|
| 689 |
+
"id": "pikto/theme",
|
| 690 |
+
"likes": 0,
|
| 691 |
+
"sha": "056436e1b043e64ec89f7237bc87bc91248f387f",
|
| 692 |
+
"lastModified": "2023-08-06T20:40:20.000Z",
|
| 693 |
+
"screenshot_id": "pikto_theme"
|
| 694 |
+
},
|
| 695 |
+
{
|
| 696 |
+
"id": "gary109/black",
|
| 697 |
+
"likes": 0,
|
| 698 |
+
"sha": "c7f34c52b967173fc3d57d393fedd475f888fad3",
|
| 699 |
+
"lastModified": "2023-08-08T02:32:00.000Z",
|
| 700 |
+
"screenshot_id": "gary109_black"
|
| 701 |
+
},
|
| 702 |
+
{
|
| 703 |
+
"id": "gary109/black_base",
|
| 704 |
+
"likes": 0,
|
| 705 |
+
"sha": "438aff99414b07717a17c03fa82791efe0dfde2a",
|
| 706 |
+
"lastModified": "2023-08-08T02:33:22.000Z",
|
| 707 |
+
"screenshot_id": "gary109_black_base"
|
| 708 |
+
},
|
| 709 |
+
{
|
| 710 |
+
"id": "gary109/Emerald_Isle",
|
| 711 |
+
"likes": 0,
|
| 712 |
+
"sha": "2848f04e27a98ccfc479ccac3831c8c5fd81af8a",
|
| 713 |
+
"lastModified": "2023-08-08T03:15:00.000Z",
|
| 714 |
+
"screenshot_id": "gary109_Emerald_Isle"
|
| 715 |
+
},
|
| 716 |
+
{
|
| 717 |
+
"id": "gary109/llamas",
|
| 718 |
+
"likes": 0,
|
| 719 |
+
"sha": "6f75c08b3c29f1420105ba08961c0e67a0c151c0",
|
| 720 |
+
"lastModified": "2023-08-08T03:15:31.000Z",
|
| 721 |
+
"screenshot_id": "gary109_llamas"
|
| 722 |
+
},
|
| 723 |
+
{
|
| 724 |
+
"id": "gary109/HaleyCH_Theme",
|
| 725 |
+
"likes": 1,
|
| 726 |
+
"sha": "6f34b3ee1e9df30820362ab1efc8162f870e12ea",
|
| 727 |
+
"lastModified": "2023-08-08T03:18:38.000Z",
|
| 728 |
+
"screenshot_id": "gary109_HaleyCH_Theme"
|
| 729 |
+
},
|
| 730 |
+
{
|
| 731 |
+
"id": "dumdumai/D-GradioTheme",
|
| 732 |
+
"likes": 0,
|
| 733 |
+
"sha": "774ac1f0af04f1ba8f08bc52407bc536486e0942",
|
| 734 |
+
"lastModified": "2023-08-12T14:31:57.000Z",
|
| 735 |
+
"screenshot_id": "dumdumai_D-GradioTheme"
|
| 736 |
+
},
|
| 737 |
+
{
|
| 738 |
+
"id": "gl198976/The-Rounded",
|
| 739 |
+
"likes": 0,
|
| 740 |
+
"sha": "8580b9d44d98cd4bcdbb0194994309331f041d70",
|
| 741 |
+
"lastModified": "2023-08-14T02:52:05.000Z",
|
| 742 |
+
"screenshot_id": "gl198976_The-Rounded"
|
| 743 |
+
},
|
| 744 |
+
{
|
| 745 |
+
"id": "NoCrypt/miku",
|
| 746 |
+
"likes": 0,
|
| 747 |
+
"sha": "eb068530367ccb43ea327fbee54dd07c66a4b538",
|
| 748 |
+
"lastModified": "2023-08-15T00:28:30.000Z",
|
| 749 |
+
"screenshot_id": "NoCrypt_miku"
|
| 750 |
+
}
|
| 751 |
+
]
|
tabs/extra/extra.py
CHANGED
|
@@ -15,8 +15,8 @@ def extra_tab():
|
|
| 15 |
)
|
| 16 |
)
|
| 17 |
|
| 18 |
-
|
| 19 |
-
|
| 20 |
|
| 21 |
with gr.TabItem(i18n("Audio Analyzer")):
|
| 22 |
analyzer.analyzer()
|
|
|
|
| 15 |
)
|
| 16 |
)
|
| 17 |
|
| 18 |
+
with gr.TabItem(i18n("Processing")):
|
| 19 |
+
processing.processing()
|
| 20 |
|
| 21 |
with gr.TabItem(i18n("Audio Analyzer")):
|
| 22 |
analyzer.analyzer()
|
tabs/settings/themes.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import sys
|
| 3 |
+
import base64
|
| 4 |
+
import pathlib
|
| 5 |
+
import tempfile
|
| 6 |
+
import gradio as gr
|
| 7 |
+
|
| 8 |
+
from assets.i18n.i18n import I18nAuto
|
| 9 |
+
import assets.themes.loadThemes as loadThemes
|
| 10 |
+
|
| 11 |
+
now_dir = os.getcwd()
|
| 12 |
+
sys.path.append("..")
|
| 13 |
+
|
| 14 |
+
i18n = I18nAuto()
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
def theme_tab():
|
| 18 |
+
with gr.Row():
|
| 19 |
+
with gr.Column():
|
| 20 |
+
themes_select = gr.Dropdown(
|
| 21 |
+
loadThemes.get_list(),
|
| 22 |
+
value=loadThemes.read_json(),
|
| 23 |
+
label=i18n("Theme"),
|
| 24 |
+
visible=True,
|
| 25 |
+
)
|
| 26 |
+
themes_select.change(
|
| 27 |
+
fn=loadThemes.select_theme,
|
| 28 |
+
inputs=themes_select,
|
| 29 |
+
outputs=[],
|
| 30 |
+
)
|