|
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)}") |
|
|