Spaces:
Runtime error
Runtime error
| import os | |
| import json | |
| from typing import Dict, Any | |
| import requests | |
| from PIL import Image | |
| import base64 | |
| from pathlib import Path | |
| # from guesslang import Guess | |
| # guessor = Guess() | |
| def img_to_bytes(img_path): | |
| img_bytes = Path(img_path).read_bytes() | |
| encoded = base64.b64encode(img_bytes).decode() | |
| return encoded | |
| def img_to_html(img_path): | |
| img_html = "<img src='data:image/png;base64,{}' class='img-fluid'>".format( | |
| img_to_bytes(img_path) | |
| ) | |
| return img_html | |
| def request_api(url: str, data: Dict[str, Any]): | |
| # _input: str, | |
| # task: str, | |
| # source_lgs: str=None, | |
| # target_lgs: str=None | |
| """ | |
| Post request to API | |
| Args: | |
| _input (str): input data | |
| task (str): task | |
| url (str): api | |
| source_lgs (str): Source languages | |
| target_lgs (str): Target languages | |
| Return: | |
| respone (json) | |
| """ | |
| # data = { | |
| # "input": _input, | |
| # "task": task, | |
| # "source_lgs": source_lgs, | |
| # "target_lgs": target_lgs, | |
| # } | |
| headers = { | |
| 'Content-type': 'application/json', | |
| 'Accept': 'text/plain' | |
| } | |
| response = requests.post(url, data=json.dumps(data), headers=headers) | |
| return response | |
| def load_image_from_local(image_path, image_resize=None): | |
| image = Image.open(image_path) | |
| if isinstance(image_resize, tuple): | |
| image = image.resize(image_resize) | |
| return image | |
| def detect_lang(url, input_): | |
| # name = guessor.language_name(input_) | |
| responde = request_api(url, { | |
| 'input': input_, | |
| 'task': 'language_detection', | |
| 'source_lgs': None, | |
| 'target_lgs': None | |
| }) | |
| name = json.loads(responde.text)['output'] | |
| return name |