Formatting & improving imports

This commit is contained in:
2024-02-23 09:50:43 +01:00
parent aa5c03b17e
commit 32b6b5c42e
40 changed files with 148 additions and 150 deletions

View File

@@ -1,3 +1,3 @@
from . import chore
from . import engines
from . import utils
from . import chore

View File

@@ -1,12 +1,10 @@
import moviepy.editor as mp
import time
import os
import gradio as gr
import time
from datetime import datetime
import moviepy.editor as mp
from .. import engines
from ..utils.prompting import get_prompt
from ..models import Video, SessionLocal
@@ -26,18 +24,18 @@ class GenerationContext:
db.commit()
def __init__(
self,
powerfulllmengine,
simplellmengine,
scriptengine,
ttsengine,
captioningengine,
assetsengine,
settingsengine,
backgroundengine,
metadataengine,
uploadengine,
progress,
self,
powerfulllmengine,
simplellmengine,
scriptengine,
ttsengine,
captioningengine,
assetsengine,
settingsengine,
backgroundengine,
metadataengine,
uploadengine,
progress,
) -> None:
self.progress = progress

View File

@@ -1,7 +1,7 @@
import json
from ...utils.prompting import get_prompt
from ...chore import GenerationContext
from ...utils.prompting import get_prompt
class AssetsEngineSelector:

View File

@@ -1,7 +1,6 @@
from abc import ABC, abstractmethod
from abc import abstractmethod
from ..BaseEngine import BaseEngine
from typing import TypedDict
from moviepy.editor import ImageClip, VideoFileClip
class BaseAssetsEngine(BaseEngine):

View File

@@ -1,15 +1,12 @@
import gradio as gr
import openai
import moviepy.editor as mp
import io
import base64
import time
import requests
import os
from moviepy.video.fx.resize import resize
from typing import Literal, TypedDict
import gradio as gr
import moviepy.editor as mp
import openai
import requests
from moviepy.video.fx.resize import resize
from . import BaseAssetsEngine

View File

@@ -1,15 +1,12 @@
import os
import os
import shutil
from typing import TypedDict
import gradio as gr
import moviepy.editor as mp
import io
import base64
import time
import requests
import shutil
import os
from google_images_search import GoogleImagesSearch
from moviepy.video.fx.resize import resize
from typing import Literal, TypedDict
from . import BaseAssetsEngine

View File

@@ -1,4 +1,4 @@
from .AssetsEngineSelector import AssetsEngineSelector
from .BaseAssetsEngine import BaseAssetsEngine
from .DallEAssetsEngine import DallEAssetsEngine
from .AssetsEngineSelector import AssetsEngineSelector
from .GoogleAssetsEngine import GoogleAssetsEngine

View File

@@ -1,7 +1,6 @@
from abc import ABC, abstractmethod
from ..BaseEngine import BaseEngine
from abc import abstractmethod
from moviepy.editor import VideoClip
from ..BaseEngine import BaseEngine
class BaseBackgroundEngine(BaseEngine):

View File

@@ -1,12 +1,12 @@
import os
import shutil
import random
import shutil
import time
import gradio as gr
import moviepy.editor as mp
from moviepy.video.fx.resize import resize
from moviepy.video.fx.crop import crop
from . import BaseBackgroundEngine

View File

@@ -1,7 +1,6 @@
import gradio as gr
import moviepy.editor as mp
from abc import ABC, abstractmethod
import moviepy.editor as mp
from sqlalchemy.future import select
from ..chore import GenerationContext

View File

@@ -1,7 +1,6 @@
from abc import ABC, abstractmethod
from ..BaseEngine import BaseEngine
from abc import abstractmethod
from moviepy.editor import TextClip
from ..BaseEngine import BaseEngine
class BaseCaptioningEngine(BaseEngine):

View File

@@ -1,6 +1,6 @@
import gradio as gr
from moviepy.editor import TextClip
from PIL import ImageFont
from . import BaseCaptioningEngine

View File

@@ -22,15 +22,15 @@ class AnthropicLLMEngine(BaseLLMEngine):
super().__init__()
def generate(
self,
system_prompt: str,
chat_prompt: str,
max_tokens: int = 1024,
temperature: float = 1.0,
json_mode: bool = False,
top_p: float = 1,
frequency_penalty: float = 0,
presence_penalty: float = 0,
self,
system_prompt: str,
chat_prompt: str,
max_tokens: int = 1024,
temperature: float = 1.0,
json_mode: bool = False,
top_p: float = 1,
frequency_penalty: float = 0,
presence_penalty: float = 0,
) -> str | dict:
prompt = f"""{anthropic.HUMAN_PROMPT} {system_prompt} {anthropic.HUMAN_PROMPT} {chat_prompt} {anthropic.AI_PROMPT}"""
if json_mode:

View File

@@ -1,20 +1,19 @@
from abc import ABC, abstractmethod
from ..BaseEngine import BaseEngine
from abc import abstractmethod
import openai
from ..BaseEngine import BaseEngine
class BaseLLMEngine(BaseEngine):
@abstractmethod
def generate(
self,
system_prompt: str,
chat_prompt: str,
max_tokens: int,
temperature: float,
json_mode: bool,
top_p: float,
frequency_penalty: float,
presence_penalty: float,
self,
system_prompt: str,
chat_prompt: str,
max_tokens: int,
temperature: float,
json_mode: bool,
top_p: float,
frequency_penalty: float,
presence_penalty: float,
) -> str | dict:
pass

View File

@@ -1,9 +1,7 @@
import openai
import gradio as gr
import openai
import orjson
from abc import ABC, abstractmethod
from .BaseLLMEngine import BaseLLMEngine
OPENAI_POSSIBLE_MODELS = [ # Theese shall be the openai models supporting force_json
@@ -22,15 +20,15 @@ class OpenaiLLMEngine(BaseLLMEngine):
super().__init__()
def generate(
self,
system_prompt: str,
chat_prompt: str,
max_tokens: int = 512,
temperature: float = 1.0,
json_mode: bool = False,
top_p: float = 1,
frequency_penalty: float = 0,
presence_penalty: float = 0,
self,
system_prompt: str,
chat_prompt: str,
max_tokens: int = 512,
temperature: float = 1.0,
json_mode: bool = False,
top_p: float = 1,
frequency_penalty: float = 0,
presence_penalty: float = 0,
) -> str | dict:
response = openai.chat.completions.create(
model=self.model,

View File

@@ -1,3 +1,3 @@
from .AnthropicLLMEngine import AnthropicLLMEngine
from .BaseLLMEngine import BaseLLMEngine
from .OpenaiLLMEngine import OpenaiLLMEngine
from .AnthropicLLMEngine import AnthropicLLMEngine

View File

@@ -1,5 +1,4 @@
from abc import abstractmethod
from typing import TypedDict
from .. import BaseEngine

View File

@@ -1,4 +1,5 @@
from abc import ABC, abstractmethod
from abc import abstractmethod
from ..BaseEngine import BaseEngine

View File

@@ -1,6 +1,7 @@
from .BaseScriptEngine import BaseScriptEngine
import gradio as gr
from .BaseScriptEngine import BaseScriptEngine
class CustomScriptEngine(BaseScriptEngine):
name = "Custom Script Engine"

View File

@@ -1,6 +1,7 @@
import gradio as gr
import os
import gradio as gr
from .BaseScriptEngine import BaseScriptEngine
from ...utils.prompting import get_prompt

View File

@@ -1,3 +1,3 @@
from .BaseScriptEngine import BaseScriptEngine
from .ShowerThoughtsScriptEngine import ShowerThoughtsScriptEngine
from .CustomScriptEngine import CustomScriptEngine
from .ShowerThoughtsScriptEngine import ShowerThoughtsScriptEngine

View File

@@ -1,5 +1,5 @@
import gradio as gr
from abc import ABC, abstractmethod
from ..BaseEngine import BaseEngine

View File

@@ -1,9 +1,9 @@
from abc import abstractmethod
from typing import TypedDict
import moviepy.editor as mp
import whisper_timestamped as wt
from typing import TypedDict
from torch.cuda import is_available
from abc import ABC, abstractmethod
from ..BaseEngine import BaseEngine

View File

@@ -1,13 +1,10 @@
import gradio as gr
from TTS.api import TTS
import os
import gradio as gr
import torch
from TTS.api import TTS
from .BaseTTSEngine import BaseTTSEngine, Word
from ...utils.prompting import get_prompt
from .BaseTTSEngine import BaseTTSEngine
class CoquiTTSEngine(BaseTTSEngine):

View File

@@ -1,5 +1,4 @@
import gradio as gr
from tiktok_uploader.upload import upload_video
from .BaseUploadEngine import BaseUploadEngine

View File

@@ -1,11 +1,11 @@
import gradio as gr
import orjson
from google_auth_oauthlib.flow import InstalledAppFlow
from . import BaseUploadEngine
from ...utils import youtube_uploading
class YouTubeUploadEngine(BaseUploadEngine):
name = "YouTube"
description = "Upload videos to YouTube"
@@ -18,7 +18,7 @@ class YouTubeUploadEngine(BaseUploadEngine):
self.credentials = self.retrieve_setting(type="youtube_client_secrets")[self.oauth["client_secret"]]
self.hashtags = options[1]
@classmethod
def __oauth(cls, credentials):
flow = InstalledAppFlow.from_client_config(
@@ -45,10 +45,10 @@ class YouTubeUploadEngine(BaseUploadEngine):
try:
youtube_uploading.upload(self.oauth["credentials"], options)
except Exception as e:
#this means we need to re-authenticate likely
# this means we need to re-authenticate likely
# use self.__oauth to re-authenticate
new_oauth = self.__oauth(self.credentials)
#also update the credentials in the settings
# also update the credentials in the settings
current_oauths = self.retrieve_setting(type="oauth_credentials") or {}
current_oauths[self.oauth_name] = {
"client_secret": self.oauth["client_secret"],
@@ -81,6 +81,7 @@ class YouTubeUploadEngine(BaseUploadEngine):
label="Client Secret File", file_types=["json"], type="binary"
)
submit_button = gr.Button("Save")
def save(binary, clien_secret_name):
current_client_secrets = cls.retrieve_setting(type="youtube_client_secrets") or {}
client_secret_json = orjson.loads(binary)
@@ -99,6 +100,7 @@ class YouTubeUploadEngine(BaseUploadEngine):
choosen_client_secret = gr.Dropdown(label="Login secret", choices=possible_client_secrets)
name = gr.Textbox(label="Name", max_lines=1)
login_button = gr.Button("Login", variant="primary")
def login(choosen_client_secret, name):
choosen_secret_data = cls.retrieve_setting(type="youtube_client_secrets")[choosen_client_secret]
new_oauth_entry = cls.__oauth(choosen_secret_data)
@@ -112,4 +114,5 @@ class YouTubeUploadEngine(BaseUploadEngine):
data=current_oauths,
)
gr.Info(f"{name} saved successfully !")
login_button.click(login, inputs=[choosen_client_secret, name])

View File

@@ -1,3 +1,3 @@
from .BaseUploadEngine import BaseUploadEngine
from .TikTokUploadEngine import TikTokUploadEngine
from .YouTubeUploadEngine import YouTubeUploadEngine
from .YouTubeUploadEngine import YouTubeUploadEngine

View File

@@ -1,15 +1,16 @@
from typing import TypedDict
from . import AssetsEngine
from . import BackgroundEngine
from . import CaptioningEngine
from . import LLMEngine
from . import MetadataEngine
from . import ScriptEngine
from . import SettingsEngine
from . import TTSEngine
from . import UploadEngine
from .BaseEngine import BaseEngine
from .NoneEngine import NoneEngine
from . import TTSEngine
from . import ScriptEngine
from . import LLMEngine
from . import CaptioningEngine
from . import AssetsEngine
from . import SettingsEngine
from . import BackgroundEngine
from . import MetadataEngine
from . import UploadEngine
class EngineDict(TypedDict):

View File

@@ -1,6 +1,6 @@
{
"TTSEngine": [
"CoquiTTSEngine",
"ElevenLabsTTSEngine"
]
"TTSEngine": [
"CoquiTTSEngine",
"ElevenLabsTTSEngine"
]
}

View File

@@ -1,7 +1,5 @@
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import Session, sessionmaker
from sqlalchemy.orm import sessionmaker
from . import Base

View File

@@ -1,8 +1,8 @@
from . import Base
from typing import Optional
from sqlalchemy import String, Column, JSON, Integer
from sqlalchemy.ext.mutable import MutableDict
from . import Base
class File(Base):
__tablename__ = "files"

View File

@@ -1,8 +1,8 @@
from . import Base
from typing import Optional
from sqlalchemy import String, Column, JSON, Integer
from sqlalchemy.ext.mutable import MutableDict
from . import Base
class Setting(Base):
__tablename__ = "Settings"

View File

@@ -1,8 +1,9 @@
from . import Base
from typing import Optional
from datetime import datetime
from sqlalchemy import String, Column, JSON, Integer, DateTime
from sqlalchemy.ext.mutable import MutableList
from datetime import datetime
from . import Base
class Video(Base):
@@ -12,6 +13,6 @@ class Video(Base):
title: str = Column(String, nullable=False)
description: str = Column(String, nullable=False)
script: str = Column(String, nullable=False)
timed_script: dict = Column(MutableList.as_mutable(JSON), nullable=False)
timed_script: dict = Column(MutableList.as_mutable(JSON), nullable=False) # type: ignore
timestamp: datetime = Column(DateTime, nullable=False, default=datetime.now())
path: str = Column(String, nullable=False)

View File

@@ -1,2 +1,2 @@
from . import prompting
from . import youtube_uploading
from . import youtube_uploading

View File

@@ -1,7 +1,8 @@
import yaml
import os
from typing import TypedDict
import yaml
class Prompt(TypedDict):
system: str
@@ -9,7 +10,7 @@ class Prompt(TypedDict):
def get_prompt(
name, *, location: str = "src/chore/prompts", by_file_location: str = None
name, *, location: str = "src/chore/prompts", by_file_location: str = None
) -> tuple[str, str]:
if by_file_location:
path = os.path.join(

View File

@@ -1,9 +1,9 @@
from http import client
import httplib2
import random
import time
from http import client
import google.oauth2.credentials
import httplib2
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from googleapiclient.http import MediaFileUpload
@@ -34,6 +34,7 @@ API_VERSION = "v3"
VALID_PRIVACY_STATUSES = ("public", "private", "unlisted")
def get_youtube(oauth_credentials: dict):
oauth_credentials = google.oauth2.credentials.Credentials(
token=oauth_credentials["token"],
@@ -45,6 +46,7 @@ def get_youtube(oauth_credentials: dict):
)
return build(API_SERVICE_NAME, API_VERSION, credentials=oauth_credentials)
def upload(oauth_credentials, options):
youtube = get_youtube(oauth_credentials)
tags = None
@@ -106,7 +108,7 @@ def resumable_upload(request):
if retry > MAX_RETRIES:
exit("No longer attempting to retry.")
max_sleep = 2**retry
max_sleep = 2 ** retry
sleep_seconds = random.random() * max_sleep
print("Sleeping %f seconds and then retrying..." % sleep_seconds)
time.sleep(sleep_seconds)
@@ -116,4 +118,4 @@ def upload_thumbnail(video_id, path, oauth_credentials):
youtube = get_youtube(oauth_credentials)
youtube.thumbnails().set( # type: ignore
videoId=video_id, media_body=path
).execute()
).execute()