mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2024-11-26 01:30:20 +01:00
Better crop/resize cached images
This commit is contained in:
parent
65d8a24a6d
commit
80dfba05f3
@ -74,11 +74,8 @@ def generate_html():
|
|||||||
|
|
||||||
path = Path(i)
|
path = Path(i)
|
||||||
if path.exists():
|
if path.exists():
|
||||||
try:
|
|
||||||
image_html = f'<img src="file/{get_image_cache(path)}">'
|
image_html = f'<img src="file/{get_image_cache(path)}">'
|
||||||
break
|
break
|
||||||
except:
|
|
||||||
continue
|
|
||||||
|
|
||||||
container_html += f'{image_html} <span class="character-name">{character}</span>'
|
container_html += f'{image_html} <span class="character-name">{character}</span>'
|
||||||
container_html += "</div>"
|
container_html += "</div>"
|
||||||
|
@ -7,7 +7,7 @@ from datetime import datetime
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
from PIL import Image
|
from PIL import Image, ImageOps
|
||||||
|
|
||||||
import modules.extensions as extensions_module
|
import modules.extensions as extensions_module
|
||||||
import modules.shared as shared
|
import modules.shared as shared
|
||||||
@ -334,7 +334,7 @@ def generate_pfp_cache(character):
|
|||||||
for path in [Path(f"characters/{character}.{extension}") for extension in ['png', 'jpg', 'jpeg']]:
|
for path in [Path(f"characters/{character}.{extension}") for extension in ['png', 'jpg', 'jpeg']]:
|
||||||
if path.exists():
|
if path.exists():
|
||||||
img = Image.open(path)
|
img = Image.open(path)
|
||||||
img.thumbnail((200, 200))
|
img = ImageOps.fit(img, (350, 470), Image.ANTIALIAS)
|
||||||
img.save(Path('cache/pfp_character.png'), format='PNG')
|
img.save(Path('cache/pfp_character.png'), format='PNG')
|
||||||
return img
|
return img
|
||||||
return None
|
return None
|
||||||
@ -432,6 +432,6 @@ def upload_your_profile_picture(img):
|
|||||||
if Path("cache/pfp_me.png").exists():
|
if Path("cache/pfp_me.png").exists():
|
||||||
Path("cache/pfp_me.png").unlink()
|
Path("cache/pfp_me.png").unlink()
|
||||||
else:
|
else:
|
||||||
img.thumbnail((200, 200))
|
img = ImageOps.fit(img, (350, 470), Image.ANTIALIAS)
|
||||||
img.save(Path('cache/pfp_me.png'))
|
img.save(Path('cache/pfp_me.png'))
|
||||||
print('Profile picture saved to "cache/pfp_me.png"')
|
print('Profile picture saved to "cache/pfp_me.png"')
|
||||||
|
@ -10,7 +10,7 @@ import time
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import markdown
|
import markdown
|
||||||
from PIL import Image
|
from PIL import Image, ImageOps
|
||||||
|
|
||||||
# This is to store the paths to the thumbnails of the profile pictures
|
# This is to store the paths to the thumbnails of the profile pictures
|
||||||
image_cache = {}
|
image_cache = {}
|
||||||
@ -104,7 +104,7 @@ def get_image_cache(path):
|
|||||||
mtime = os.stat(path).st_mtime
|
mtime = os.stat(path).st_mtime
|
||||||
if (path in image_cache and mtime != image_cache[path][0]) or (path not in image_cache):
|
if (path in image_cache and mtime != image_cache[path][0]) or (path not in image_cache):
|
||||||
img = Image.open(path)
|
img = Image.open(path)
|
||||||
img.thumbnail((200, 200))
|
img = ImageOps.fit(img, (350, 470), Image.ANTIALIAS)
|
||||||
output_file = Path(f'cache/{path.name}_cache.png')
|
output_file = Path(f'cache/{path.name}_cache.png')
|
||||||
img.convert('RGB').save(output_file, format='PNG')
|
img.convert('RGB').save(output_file, format='PNG')
|
||||||
image_cache[path] = [mtime, output_file.as_posix()]
|
image_cache[path] = [mtime, output_file.as_posix()]
|
||||||
|
@ -406,7 +406,7 @@ def create_interface():
|
|||||||
shared.gradio['character_menu'].change(chat.load_character, [shared.gradio[k] for k in ['character_menu', 'name1', 'name2']], [shared.gradio[k] for k in ['name1', 'name2', 'character_picture', 'greeting', 'context', 'display']])
|
shared.gradio['character_menu'].change(chat.load_character, [shared.gradio[k] for k in ['character_menu', 'name1', 'name2']], [shared.gradio[k] for k in ['name1', 'name2', 'character_picture', 'greeting', 'context', 'display']])
|
||||||
shared.gradio['upload_chat_history'].upload(chat.load_history, [shared.gradio['upload_chat_history'], shared.gradio['name1'], shared.gradio['name2']], [])
|
shared.gradio['upload_chat_history'].upload(chat.load_history, [shared.gradio['upload_chat_history'], shared.gradio['name1'], shared.gradio['name2']], [])
|
||||||
shared.gradio['upload_img_tavern'].upload(chat.upload_tavern_character, [shared.gradio['upload_img_tavern'], shared.gradio['name1'], shared.gradio['name2']], [shared.gradio['character_menu']])
|
shared.gradio['upload_img_tavern'].upload(chat.upload_tavern_character, [shared.gradio['upload_img_tavern'], shared.gradio['name1'], shared.gradio['name2']], [shared.gradio['character_menu']])
|
||||||
shared.gradio['your_picture'].change(chat.upload_your_profile_picture, shared.gradio['your_picture'], [])
|
shared.gradio['your_picture'].change(chat.upload_your_profile_picture, shared.gradio['your_picture'], None)
|
||||||
|
|
||||||
reload_func = chat.redraw_html if shared.args.cai_chat else lambda : shared.history['visible']
|
reload_func = chat.redraw_html if shared.args.cai_chat else lambda : shared.history['visible']
|
||||||
reload_inputs = [shared.gradio['name1'], shared.gradio['name2']] if shared.args.cai_chat else []
|
reload_inputs = [shared.gradio['name1'], shared.gradio['name2']] if shared.args.cai_chat else []
|
||||||
|
Loading…
Reference in New Issue
Block a user