edit : 원격 저장으로 변경
This commit is contained in:
@@ -6,14 +6,16 @@ from bingart import BingArt
|
||||
from custom_apps.utils import cookie_manager
|
||||
from main_rest.app.utils.parsing_utils import prompt_to_filenames
|
||||
from main_rest.app.utils.date_utils import D
|
||||
from const import OUTPUT_FOLDER
|
||||
from const import REMOTE_FOLDER, TEMP_FOLDER
|
||||
from utils.custom_sftp import sftp_client
|
||||
|
||||
|
||||
class BingArtGenerator:
|
||||
|
||||
model = 'dalle3'
|
||||
detail = 'art'
|
||||
output_folder = os.path.join(OUTPUT_FOLDER,"dalle","art")
|
||||
output_folder = os.path.join(TEMP_FOLDER,"dalle","art")
|
||||
remote_folder = os.path.join(REMOTE_FOLDER,"dalle","art")
|
||||
|
||||
def __init__(self):
|
||||
self.bing_art = BingArt(auth_cookie_U=cookie_manager.get_cookie())
|
||||
@@ -67,6 +69,7 @@ class BingArtGenerator:
|
||||
path= f"{self.model}_{self.detail}_{self.prompt}_{jpeg_index}_{self.datetime}.png"
|
||||
|
||||
urllib.request.urlretrieve(i, os.path.join(self.output_folder,path))
|
||||
sftp_client.remote_copy_data(os.path.join(self.output_folder,path), os.path.join(self.remote_folder,path))
|
||||
jpeg_index += 1
|
||||
|
||||
def get_images(self, prompt, image_len):
|
||||
|
||||
@@ -4,7 +4,7 @@ from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
from custom_apps.bingimagecreator.BingImageCreator import *
|
||||
from const import OUTPUT_FOLDER
|
||||
from const import REMOTE_FOLDER
|
||||
from custom_apps.utils import cookie_manager
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ class DallEArgument:
|
||||
U = cookie_manager.get_cookie()
|
||||
prompt: str
|
||||
cookie_file: str|None = None
|
||||
output_dir: str = os.path.join(OUTPUT_FOLDER,"dalle","img")
|
||||
output_dir: str = os.path.join(REMOTE_FOLDER,"dalle","img")
|
||||
download_count: int = 1
|
||||
debug_file: str|None = None
|
||||
quiet: bool = False
|
||||
|
||||
@@ -4,10 +4,10 @@ import vertexai
|
||||
import os
|
||||
from vertexai.preview.vision_models import ImageGenerationModel
|
||||
|
||||
from const import OUTPUT_FOLDER
|
||||
from const import REMOTE_FOLDER, TEMP_FOLDER
|
||||
from main_rest.app.utils.parsing_utils import prompt_to_filenames
|
||||
from main_rest.app.utils.date_utils import D
|
||||
|
||||
from utils.custom_sftp import sftp_client
|
||||
|
||||
class ImagenConst:
|
||||
project_id = "glasses-imagen"
|
||||
@@ -21,11 +21,12 @@ def imagen_generate_image(prompt,download_count=1):
|
||||
model = ImageGenerationModel.from_pretrained(ImagenConst.model)
|
||||
|
||||
_file_name = prompt_to_filenames(prompt)
|
||||
_folder = os.path.join(OUTPUT_FOLDER,"imagen")
|
||||
_folder = os.path.join(TEMP_FOLDER)
|
||||
_remote_folder = os.path.join(REMOTE_FOLDER,"imagen")
|
||||
_datetime = D.date_file_name()
|
||||
|
||||
if not os.path.isdir(_folder):
|
||||
raise FileExistsError(f"FileExistsError: {_folder}")
|
||||
# if not os.path.isdir(_folder):
|
||||
# raise FileExistsError(f"FileExistsError: {_folder}")
|
||||
|
||||
images = model.generate_images(
|
||||
prompt=prompt,
|
||||
@@ -42,12 +43,13 @@ def imagen_generate_image(prompt,download_count=1):
|
||||
|
||||
if len(images.images) <=1 :
|
||||
images[0].save(location=os.path.join(_folder,f"imagen_{_file_name}_{_datetime}.png"), include_generation_parameters=False)
|
||||
sftp_client.remote_copy_data(os.path.join(_folder,f"imagen_{_file_name}_{_datetime}.png"), os.path.join(_remote_folder,f"imagen_{_file_name}_{_datetime}.png"))
|
||||
return 1
|
||||
|
||||
else:
|
||||
for i in range(len(images.images)):
|
||||
images[i].save(location=os.path.join(_folder,f"imagen_{_file_name}_{i+1}_{_datetime}.png"), include_generation_parameters=False)
|
||||
|
||||
sftp_client.remote_copy_data(os.path.join(_folder,f"imagen_{_file_name}_{i+1}_{_datetime}.png"), os.path.join(_remote_folder,f"imagen_{_file_name}_{i+1}_{_datetime}.png"))
|
||||
return len(images.images)
|
||||
|
||||
def imagen_generate_image_data(prompt,download_count=1):
|
||||
@@ -76,7 +78,7 @@ def imagen_generate_image_path(image_prompt):
|
||||
QUERY = "query"
|
||||
create_time = D.date_file_name()
|
||||
|
||||
folder_name = os.path.join(OUTPUT_FOLDER,f"{MODEL}_{QUERY}_{image_prompt}_{create_time}")
|
||||
folder_name = os.path.join(TEMP_FOLDER,f"{MODEL}_{QUERY}_{image_prompt}_{create_time}")
|
||||
if not os.path.exists(folder_name):
|
||||
os.makedirs(folder_name)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user