This commit is contained in:
@@ -9,6 +9,7 @@ from typing import Any, Dict, List, Optional
|
||||
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
|
||||
from urllib.parse import urlparse
|
||||
from simple_term_menu import TerminalMenu
|
||||
from diskcache import Index
|
||||
|
||||
from api import Server, get_api_config
|
||||
from log import get_logger
|
||||
@@ -55,14 +56,14 @@ def remove_file(log: Logger, item_data: Dict[str, Any], media_dirs: List[str]):
|
||||
log.info("File not found %s", media_file.absolute())
|
||||
|
||||
|
||||
def check_duplicate_links(log: Logger, server: Optional[Server], media_dirs: List[str]):
|
||||
def check_duplicate_links(log: Logger, server: Optional[Server], media_dirs: List[str], index: Index):
|
||||
"""
|
||||
Check if there are MediaFile URLs which only differ in hostname.
|
||||
"""
|
||||
if server is None:
|
||||
log.info("no server selected")
|
||||
return
|
||||
data = server.request(log=log, table="media_file")
|
||||
data = server.request(log=log, table="media_file", index=index)
|
||||
mapping = create_item_id_mapping(log=log, data_list=data)
|
||||
visited_link_path: Dict[str, str] = {}
|
||||
duplicate_link_paths: Dict[str, List[str]] = {}
|
||||
@@ -100,7 +101,7 @@ def check_duplicate_links(log: Logger, server: Optional[Server], media_dirs: Lis
|
||||
print("selection canceled")
|
||||
|
||||
|
||||
def check_media_dirs(log: Logger, server: Optional[Server], media_dirs: List[str]):
|
||||
def check_media_dirs(log: Logger, server: Optional[Server], media_dirs: List[str], index: Index):
|
||||
"""
|
||||
Check if contents of directories match MediaFiles.
|
||||
"""
|
||||
@@ -108,7 +109,7 @@ def check_media_dirs(log: Logger, server: Optional[Server], media_dirs: List[str
|
||||
log.info("no server selected")
|
||||
return
|
||||
local_files = collect_files(media_dirs)
|
||||
data = server.request(log=log, table="media_file")
|
||||
data = server.request(log=log, table="media_file", index=index)
|
||||
for item in data:
|
||||
file_name = Path(item["cloud_link"]).name
|
||||
if file_name in local_files:
|
||||
@@ -143,10 +144,11 @@ if __name__ == "__main__":
|
||||
else:
|
||||
dirs.insert(0, args.dir)
|
||||
logger.info(dirs)
|
||||
index = Index()
|
||||
logger.info("kontor.check_kontor.check_duplicate_links")
|
||||
check_duplicate_links(logger, first_server, dirs)
|
||||
check_duplicate_links(logger, first_server, dirs, index)
|
||||
logger.info("kontor.check_kontor.check_media_dirs")
|
||||
check_media_dirs(logger, first_server, dirs)
|
||||
check_media_dirs(logger, first_server, dirs, index)
|
||||
# logger.info("kontor.check_kontor.get_ids_from_column_cloud_link")
|
||||
# get_ids_from_column_cloud_link(link_list, mariadb_cursor)
|
||||
# logger.info('found {} ids in column cloud_link'.format(len(link_list)))
|
||||
|
||||
Reference in New Issue
Block a user