Fix the typo used in the authentication log

This commit is contained in:
Jet Li 2025-02-01 07:14:17 +00:00
parent 43671d684d
commit 8ab64be6a1
3 changed files with 53 additions and 83 deletions

View File

@ -20,7 +20,7 @@ class LoggerBase:
self.logger = LoggerBase.binded_loggers[self.__logger_name] self.logger = LoggerBase.binded_loggers[self.__logger_name]
return return
log_filename = f"{log_settings.LOG_BASE_PATH}/{self.__logger_name}.log" log_filename = f"{log_settings.LOG_PATH_BASE}/{self.__logger_name}.log"
# ✅ **Ensure Loguru sink is added only once** # ✅ **Ensure Loguru sink is added only once**
if log_filename not in LoggerBase.loguru_sinks_added: if log_filename not in LoggerBase.loguru_sinks_added:

View File

@ -27,16 +27,11 @@ class ContentSharePointManager:
) )
self.share_point_file_expiry = timedelta(hours=24) self.share_point_file_expiry = timedelta(hours=24)
def __generate_created__by__(self, folder_name): def __generate_created_by(self, folder_name: str) -> str:
return "content-service-" + folder_name.replace("/", "-").lower() return "content-service-" + folder_name.replace("/", "-").lower()
async def retrieve_directories_for_folder( async def __get_or_initialize_folder(self, folder_name: str, region: UserRegion):
self, folder_name: str, region: UserRegion
):
content_folder_name = folder_name + "/" + region.name
sp_folders = self.sharepoint_client.list_sub_folders(content_folder_name)
current_time = datetime.now(timezone.utc) current_time = datetime.now(timezone.utc)
folder = await ContentFolderDoc.find_one( folder = await ContentFolderDoc.find_one(
ContentFolderDoc.folder_name == folder_name, ContentFolderDoc.folder_name == folder_name,
ContentFolderDoc.region == region.value, ContentFolderDoc.region == region.value,
@ -52,10 +47,45 @@ class ContentSharePointManager:
region=region, region=region,
) )
else: else:
# TODO: Remove all existing content directories
# Otherwise it will keep growing
folder.content_directories.clear() folder.content_directories.clear()
return folder
async def __process_file(
self, sp_file: Dict, folder_name: str, content_directory: ContentDirectory
):
file_name = sp_file["name"]
created_by = self.__generate_created_by(folder_name)
document_manager = DocumentManager()
content_type_mapping = {
ContentFileConstants.COVER_FILE_NAME: "cover_document_id",
ContentFileConstants.SUMMARY_FILE_NAME: "summary_text_new",
ContentFileConstants.TITLE_FILE_NAME: "title_text_new",
ContentFileConstants.CONTENT_LINK_FILE_NAME: "content_link",
ContentFileConstants.CONTENT_HTML_FILE_NAME: "content_html_new",
ContentFileConstants.CONTENT_TEXT_FILE_NAME: "content_text_new",
ContentFileConstants.CONTENT_PDF_FILE_NAME: "content_document_id",
}
content_property = content_type_mapping.get(file_name.lower())
if content_property:
content_file_content = self.sharepoint_client.get_file_content(
sp_file["id"]
)
saved_document_id = await document_manager.save_document_file(
created_by, file_name, content_file_content
)
setattr(content_directory, content_property, saved_document_id)
async def retrieve_directories_for_folder(
self, folder_name: str, region: UserRegion
):
content_folder_name = folder_name + "/" + region.name
sp_folders = self.sharepoint_client.list_sub_folders(content_folder_name)
current_time = datetime.now(timezone.utc)
folder = await self.__get_or_initialize_folder(folder_name, region)
for sp_folder in sp_folders: for sp_folder in sp_folders:
content_directory = ContentDirectory( content_directory = ContentDirectory(
content_name=sp_folder["name"], content_name=sp_folder["name"],
@ -65,92 +95,28 @@ class ContentSharePointManager:
content_link=None, content_link=None,
content_document_id=None, content_document_id=None,
) )
sp_files = self.sharepoint_client.list_files( sp_files = self.sharepoint_client.list_files(
content_folder_name + "/" + sp_folder["name"] content_folder_name + "/" + sp_folder["name"]
) )
for sp_file in sp_files: for sp_file in sp_files:
if ( await self.__process_file(sp_file, folder_name, content_directory)
sp_file["name"].lower()
== ContentFileConstants.COVER_FILE_NAME.lower()
):
cover_file_content = self.sharepoint_client.get_file_content(
sp_file["id"]
)
cover_document_manager = DocumentManager()
file_name = sp_file["name"].lower()
created_by = self.__generate_created__by__(folder_name=folder_name)
content_directory.cover_document_id = (
await cover_document_manager.save_document_file(
created_by, file_name, cover_file_content
)
)
elif (
sp_file["name"].lower()
== ContentFileConstants.SUMMARY_FILE_NAME.lower()
):
content_directory.summary_text = (
self.sharepoint_client.get_file_content(sp_file["id"])
)
elif (
sp_file["name"].lower()
== ContentFileConstants.TITLE_FILE_NAME.lower()
):
content_directory.title_text = (
self.sharepoint_client.get_file_content(sp_file["id"])
)
elif (
sp_file["name"].lower()
== ContentFileConstants.CONTENT_LINK_FILE_NAME.lower()
):
content_directory.content_link = (
self.sharepoint_client.get_file_content(sp_file["id"])
)
elif (
sp_file["name"].lower()
== ContentFileConstants.CONTENT_HTML_FILE_NAME.lower()
):
content_directory.content_html = (
self.sharepoint_client.get_file_content(sp_file["id"])
)
elif (
sp_file["name"].lower()
== ContentFileConstants.CONTENT_TEXT_FILE_NAME.lower()
):
content_directory.content_text = (
self.sharepoint_client.get_file_content(sp_file["id"])
)
elif (
sp_file["name"].lower()
== ContentFileConstants.CONTENT_PDF_FILE_NAME.lower()
):
content_file_content = self.sharepoint_client.get_file_content(
sp_file["id"]
)
content_document_manager = DocumentManager()
file_name = sp_file["name"]
created_by = self.__generate_created__by__(folder_name=folder_name)
content_directory.content_document_id = (
await content_document_manager.save_document_file(
created_by, file_name, content_file_content
)
)
folder.content_directories.append(content_directory) folder.content_directories.append(content_directory)
folder.udpate_time = current_time folder.udpate_time = current_time
folder.update_source = ContentSource.SHAREPOINT folder.update_source = ContentSource.SHAREPOINT
folder.valid_thru = current_time + self.share_point_file_expiry folder.valid_thru = current_time + self.share_point_file_expiry
await folder.save() await folder.save()
async def retrieve_directorys_for_all_folders(self): async def retrieve_directories_for_all_folders(self):
current_time = datetime.now(timezone.utc) current_time = datetime.now(timezone.utc)
folders = await ContentFolderDoc.find( expired_folders = await ContentFolderDoc.find(
ContentFolderDoc.update_source == ContentSource.SHAREPOINT, ContentFolderDoc.update_source == ContentSource.SHAREPOINT,
ContentFolderDoc.valid_thru < current_time, ContentFolderDoc.valid_thru < current_time,
).to_list() ).to_list()
for folder in folders: for folder in expired_folders:
await self.retrieve_directories_for_folder( await self.retrieve_directories_for_folder(
folder.folder_name, folder.region folder.folder_name, folder.region
) )

View File

@ -11,10 +11,14 @@ class ContentDirectory(BaseModel):
content_name: str content_name: str
cover_document_id: Optional[str] = None cover_document_id: Optional[str] = None
summary_text: Optional[str] = "" summary_text: Optional[str] = ""
summary_text_new: Optional[str] = ""
title_text: Optional[str] = "" title_text: Optional[str] = ""
title_text_new: Optional[str] = ""
content_link: Optional[str] = None content_link: Optional[str] = None
content_html: Optional[str] = None content_html: Optional[str] = None
content_html_new: Optional[str] = None
content_text: Optional[str] = None content_text: Optional[str] = None
content_text_new: Optional[str] = None
content_document_id: Optional[str] = None content_document_id: Optional[str] = None