Spaces:
Sleeping
Sleeping
import matplotlib.pyplot as plt | |
from LLM_openai import client, expense_classifier | |
import datetime | |
import base64 | |
from io import BytesIO | |
import re | |
import json | |
import matplotlib.dates as mdates | |
def create_plot(x, y): | |
fig, ax = plt.subplots() | |
ax.plot(x, y, marker='o') | |
for i in range(len(x)): | |
ax.text(x[i], y[i], f'{y[i]:.2f}', fontsize=10, ha='left', va='bottom') | |
ax.set_xlabel('Money') | |
ax.set_ylabel('Expenses') | |
ax.set_title('Daily expenses') | |
ax.set_xticks(x[::5]) # Show every 5th day | |
ax.set_xticklabels(x[::5], rotation=45, ha='right') | |
plt.xticks(rotation=30) | |
return fig | |
def create_barplot(x, y, xlabel,ylabel, title): | |
fig, ax = plt.subplots() | |
ax.bar(x, y) | |
for i in range(len(x)): | |
ax.text(x[i], y[i], f'{y[i]:.2f}', fontsize=10, ha='left', va='bottom') | |
ax.set_xlabel(xlabel) | |
ax.set_ylabel(ylabel) | |
ax.set_title(title) | |
plt.xticks(rotation=30) | |
return fig | |
#### | |
##OCR functions | |
def pil_to_base64(pil_img): | |
img_buffer = BytesIO() | |
pil_img.save(img_buffer, format='JPEG') | |
byte_data = img_buffer.getvalue() | |
base64_str = base64.b64encode(byte_data).decode("utf-8") | |
return base64_str | |
def js_to_prefere_the_back_camera_of_mobilephones(): | |
custom_html = """ | |
<script> | |
const originalGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); | |
navigator.mediaDevices.getUserMedia = (constraints) => { | |
if (!constraints.video.facingMode) { | |
constraints.video.facingMode = {ideal: "environment"}; | |
} | |
return originalGetUserMedia(constraints); | |
}; | |
</script> | |
""" | |
return custom_html | |
def result_cleaner(text): | |
pattern = r'\{[^}]*\}' | |
match = re.search(pattern, text) | |
match_string=match[0] | |
json_dict=json.loads(match_string) | |
return json_dict |