Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d5ee0dd63 |
@@ -1,9 +1,10 @@
|
|||||||
from typing import List
|
from typing import List
|
||||||
from fastapi import APIRouter, status, HTTPException
|
from fastapi import APIRouter, status, HTTPException
|
||||||
|
from src.core.log_conf import logger
|
||||||
from src.db.models.media import MediaActorFile
|
from src.db.models.media import MediaActorFile
|
||||||
from src.db.repository.media.actorfile import delete_mediaactorfile
|
from src.db.repository.media.actorfile import delete_mediaactorfile, import_mediaactorfile
|
||||||
from src.db.session import SessionDep
|
from src.db.session import SessionDep
|
||||||
from src.schema.media.actorfile import MediaActorFileResponse, actorfile_to_response
|
from src.schema.media.actorfile import MediaActorFileModel, MediaActorFileResponse, actorfile_to_response
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@@ -30,3 +31,13 @@ def delete_actorfile(actorfile_id: str, db: SessionDep):
|
|||||||
if not media_actorfile:
|
if not media_actorfile:
|
||||||
raise HTTPException(status_code=404, detail="MediaActor could not be found")
|
raise HTTPException(status_code=404, detail="MediaActor could not be found")
|
||||||
delete_mediaactorfile(db, media_actorfile.id)
|
delete_mediaactorfile(db, media_actorfile.id)
|
||||||
|
|
||||||
|
@router.post("/actorfiles", status_code=status.HTTP_201_CREATED)
|
||||||
|
def add_actorfile(new_actorfile: MediaActorFileModel, db: SessionDep) -> MediaActorFileResponse:
|
||||||
|
logger.info("add actorfile %s - %s", new_actorfile.media_actor_id, new_actorfile.media_file_id)
|
||||||
|
try:
|
||||||
|
mediaActorFile: MediaActorFile = import_mediaactorfile(db, new_actorfile)
|
||||||
|
except Exception as exception:
|
||||||
|
raise HTTPException(status_code=409, detail=f"Link duplicate: {exception}")
|
||||||
|
response = actorfile_to_response(mediaActorFile)
|
||||||
|
return response
|
||||||
|
|||||||
@@ -46,4 +46,19 @@ def import_mediaactorfile(
|
|||||||
"""
|
"""
|
||||||
logger.info("import MediaActorFile with %s", new_actorfile)
|
logger.info("import MediaActorFile with %s", new_actorfile)
|
||||||
media_actor_file: MediaActorFile = MediaActorFile()
|
media_actor_file: MediaActorFile = MediaActorFile()
|
||||||
|
media_actor_file.id = new_actorfile.id
|
||||||
|
if new_actorfile.created_date:
|
||||||
|
media_actor_file.created_date = new_actorfile.created_date
|
||||||
|
else:
|
||||||
|
media_actor_file.created_date = datetime.now()
|
||||||
|
if new_actorfile.last_modified_date:
|
||||||
|
media_actor_file.last_modified_date = new_actorfile.last_modified_date
|
||||||
|
else:
|
||||||
|
media_actor_file.last_modified_date = datetime.now()
|
||||||
|
media_actor_file.version = new_actorfile.version
|
||||||
|
media_actor_file.media_actor_id = new_actorfile.media_actor_id
|
||||||
|
media_actor_file.media_file_id = new_actorfile.media_file_id
|
||||||
|
db.add(media_actor_file)
|
||||||
|
db.commit()
|
||||||
|
db.refresh(media_actor_file)
|
||||||
return media_actor_file
|
return media_actor_file
|
||||||
|
|||||||
@@ -169,6 +169,7 @@ if __name__ == "__main__":
|
|||||||
actor_urls: List[str] = get_meta_info(media_file, logger)
|
actor_urls: List[str] = get_meta_info(media_file, logger)
|
||||||
if not args.dry_run:
|
if not args.dry_run:
|
||||||
logger.info("add MediaFile %s", media_file)
|
logger.info("add MediaFile %s", media_file)
|
||||||
|
server.create(logger, "media_file", media_file.export_dict())
|
||||||
for actor_url in actor_urls:
|
for actor_url in actor_urls:
|
||||||
if actor_url in actor_mapping:
|
if actor_url in actor_mapping:
|
||||||
media_actor: Optional[MediaActor] = actor_mapping[actor_url]
|
media_actor: Optional[MediaActor] = actor_mapping[actor_url]
|
||||||
@@ -179,10 +180,11 @@ if __name__ == "__main__":
|
|||||||
media_actor_file.last_modified_date = datetime.now()
|
media_actor_file.last_modified_date = datetime.now()
|
||||||
media_actor_file.version = 0
|
media_actor_file.version = 0
|
||||||
media_actor_file.media_file_id = media_file.id
|
media_actor_file.media_file_id = media_file.id
|
||||||
media_actor_file.media_actor_id = media_actor.id
|
media_actor_file.media_actor_id = media_actor["id"]
|
||||||
logger.info("create mapping with %s", media_actor_file)
|
logger.info("create mapping with %s", media_actor_file)
|
||||||
if not args.dry_run:
|
if not args.dry_run:
|
||||||
logger.info("add MediaFile Actor mapping %s", media_actor_file)
|
logger.info("add MediaFile Actor mapping %s", media_actor_file)
|
||||||
|
server.create(logger, "media_actor_file", media_actor_file.export_dict())
|
||||||
else:
|
else:
|
||||||
actor_name = get_actor_name(actor_url, logger)
|
actor_name = get_actor_name(actor_url, logger)
|
||||||
if actor_name in actorname_mapping:
|
if actor_name in actorname_mapping:
|
||||||
@@ -198,6 +200,7 @@ if __name__ == "__main__":
|
|||||||
logger.info("update MediaActor with %s", repr(media_actor))
|
logger.info("update MediaActor with %s", repr(media_actor))
|
||||||
if not args.dry_run:
|
if not args.dry_run:
|
||||||
logger.info("Update MediaActor %s", media_actor)
|
logger.info("Update MediaActor %s", media_actor)
|
||||||
|
server.create(logger, "media_actor", media_actor.export_dict())
|
||||||
media_actor_file = MediaActorFile()
|
media_actor_file = MediaActorFile()
|
||||||
media_actor_file.id = str(uuid.uuid4())
|
media_actor_file.id = str(uuid.uuid4())
|
||||||
media_actor_file.created_date = datetime.now()
|
media_actor_file.created_date = datetime.now()
|
||||||
|
|||||||
Reference in New Issue
Block a user