1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-28 03:10:45 +00:00
This commit is contained in:
孙永强 2025-04-14 14:20:14 +08:00
parent fb9e98d5a3
commit 16245d5c05
2 changed files with 5 additions and 7 deletions

View File

@ -31,7 +31,7 @@ from seahub.utils.repo import parse_repo_perm
from seahub.constants import PERMISSION_INVISIBLE
from seahub.repo_metadata.models import RepoMetadata
from seahub.repo_metadata.utils import can_read_metadata
from seahub.repo_metadata.metadata_server_api import list_dir_metadata_records
from seahub.repo_metadata.metadata_server_api import list_eligible_metadata_records
from seahub.settings import ENABLE_VIDEO_THUMBNAIL, THUMBNAIL_ROOT, THUMBNAIL_DEFAULT_SIZE
from seaserv import seafile_api
@ -603,7 +603,8 @@ class DirDetailView(APIView):
'filters': filters,
'basic_filters': basic_filters
}
results = list_dir_metadata_records(repo_id, request.user.username, view)
selected_columns = [METADATA_TABLE.columns.file_name.name, METADATA_TABLE.columns.size.name]
results = list_eligible_metadata_records(repo_id, request.user.username, view, selected_columns)
dir_records = results.get('results')
file_count = len(dir_records)
size = sum(record.get(METADATA_TABLE.columns.size.name) for record in dir_records)

View File

@ -77,7 +77,7 @@ def list_metadata_view_records(repo_id, user, view, tags_enabled, start=0, limit
response_results = metadata_server_api.query_rows(sql, [])
return response_results
def list_dir_metadata_records(repo_id, user, view):
def list_eligible_metadata_records(repo_id, user, view, filter_columns):
from seafevents.repo_metadata.constants import METADATA_TABLE
from seafevents.repo_metadata.utils import gen_view_data_sql
metadata_server_api = MetadataServerAPI(repo_id, user)
@ -89,10 +89,7 @@ def list_dir_metadata_records(repo_id, user, view):
query_fields_str = ''
for column in columns:
column_name = column.get('name')
if column_name == METADATA_TABLE.columns.file_name.name:
column_name_str = '`%s`, ' % column_name
query_fields_str += column_name_str
elif column_name == METADATA_TABLE.columns.size.name:
if column_name in filter_columns:
column_name_str = '`%s`, ' % column_name
query_fields_str += column_name_str
query_fields_str = query_fields_str.strip(', ')