repetitive-project-backend / comparator /compareSummerized.py
GVAmaresh
ini
c87f53a
from googleapiclient.http import MediaFileUpload, MediaIoBaseUpload
import json
import os
from io import BytesIO
import time
import io
from comparator.report import checkRespectiveFolder
from comparator.compare_model.compare import compare
def get_compare_value(report):
return report["compare"]
def compareText(service, summary):
try:
fake_folder_id = checkRespectiveFolder(service)
result_folder_id = checkRespectiveFolder(
service, path=fake_folder_id, Folder_Name="Result"
)
response = (
service.files()
.list(
q="name contains 'data-'",
spaces="drive",
fields="files(id, name)",
)
.execute()
)
list_all_files = response.get("files", [])
all_reports = []
for list_files in list_all_files:
if list_files["name"].startswith("data-"):
latest_file_id = str(list_files["id"])
existing_data = (
service.files().get_media(fileId=latest_file_id).execute()
)
existing_details = json.loads(existing_data.decode("utf-8"))
file_name = list_files["name"]
for json_data in existing_details:
print(summary)
value = compare(summary, json_data["summary"])
all_reports.append(
{
"id": json_data["id"],
"year": json_data["year"],
"drive": json_data["drive"],
"summary": json_data["summary"],
"category": json_data["category"],
"title": "",
"compare": value,
}
)
sorted_reports = sorted(all_reports, key=get_compare_value, reverse=True)
return sorted_reports
except Exception as e:
print(f"An error occurred: {str(e)}")