Enhance compatibility across various environments

pull/638/head
zanllp 2024-05-29 14:13:55 +08:00
parent 3f6000b531
commit 5d43a34e52
3 changed files with 9 additions and 3 deletions

View File

@ -6,6 +6,7 @@ import sqlite3
from scripts.iib.dir_cover_cache import get_top_4_media_info
from scripts.iib.tool import (
get_created_date_by_stat,
get_video_type,
human_readable_size,
is_valid_media_path,
@ -415,7 +416,7 @@ def infinite_image_browsing_api(app: FastAPI, **kwargs):
name = os.path.basename(item.path)
stat = item.stat()
date = get_formatted_date(stat.st_mtime)
created_time = get_formatted_date(stat.st_birthtime if hasattr(stat, 'st_birthtime') else stat.st_ctime)
created_time = get_created_date_by_stat(stat)
if item.is_file():
bytes = stat.st_size
size = human_readable_size(bytes)

View File

@ -1,6 +1,6 @@
import os
from scripts.iib.db.datamodel import DirCoverCache, DataBase
from scripts.iib.tool import get_formatted_date, is_valid_media_path, get_video_type
from scripts.iib.tool import get_created_date_by_stat, get_formatted_date, is_valid_media_path, get_video_type
def get_top_4_media_info(folder_path):
"""
@ -38,7 +38,7 @@ def get_media_files_from_folder(folder_path):
name = os.path.basename(entry.path)
stat = entry.stat()
date = get_formatted_date(stat.st_mtime)
created_time = get_formatted_date(stat.st_birthtime if hasattr(stat, 'st_birthtime') else stat.st_ctime)
created_time = get_created_date_by_stat(stat)
media_files.append({
"fullpath": entry.path,
"media_type": "video" if get_video_type(entry.path) else "image",

View File

@ -334,6 +334,11 @@ def get_modified_date(folder_path: str):
def get_created_date(folder_path: str):
return get_formatted_date(os.path.getctime(folder_path))
def get_created_date_by_stat(stat: os.stat_result):
try:
return get_formatted_date(stat.st_birthtime if hasattr(stat, 'st_birthtime') else stat.st_ctime)
except:
return get_formatted_date(stat.st_ctime)
def unique_by(seq, key_func=lambda x: x):
seen = set()