d5705c3a28
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
Co-authored-by: Thomas Peetz <thomas.peetz@cimt-ag.de> Reviewed-on: #98
69 lines
2.0 KiB
Python
69 lines
2.0 KiB
Python
from datetime import datetime
|
|
import uuid
|
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
from src.db.models.media import MediaLofi
|
|
from src.schema.media.lofi import MediaLofiModel
|
|
|
|
|
|
def create_new_lofi(url: str, db: Session) -> MediaLofi:
|
|
"""
|
|
Create MediaLofi with given URL.
|
|
"""
|
|
print("create MediaLofi with url %s", url)
|
|
media_lofi = MediaLofi()
|
|
media_lofi.id = str(uuid.uuid4())
|
|
media_lofi.url = url
|
|
media_lofi.created_date = datetime.now()
|
|
media_lofi.last_modified_date = datetime.now()
|
|
media_lofi.review = True
|
|
media_lofi.should_download = False
|
|
db.add(media_lofi)
|
|
db.commit()
|
|
db.refresh(media_lofi)
|
|
print(media_lofi)
|
|
return media_lofi
|
|
|
|
def import_medialofi(db: Session, new_lofi: MediaLofiModel) -> MediaLofi:
|
|
"""
|
|
import MediaLofi and set missing values with default ones.
|
|
"""
|
|
print("import MediaLofi with %s", new_lofi)
|
|
media_lofi: MediaLofi = MediaLofi()
|
|
media_lofi.id = new_lofi.id
|
|
if new_lofi.created_date:
|
|
media_lofi.created_date = new_lofi.created_date
|
|
else:
|
|
media_lofi.created_date = datetime.now()
|
|
if new_lofi.last_modified_date:
|
|
media_lofi.last_modified_date = new_lofi.last_modified_date
|
|
else:
|
|
media_lofi.last_modified_date = datetime.now()
|
|
media_lofi.version = new_lofi.version
|
|
if new_lofi.title:
|
|
media_lofi.title = new_lofi.title
|
|
else:
|
|
media_lofi.title = ""
|
|
if new_lofi.url:
|
|
media_lofi.url = new_lofi.url
|
|
else:
|
|
# TODO shoud exeception be raised when url is missing?
|
|
media_lofi.url = ""
|
|
media_lofi.review = new_lofi.review
|
|
media_lofi.should_download = new_lofi.should_download
|
|
db.add(media_lofi)
|
|
db.commit()
|
|
db.refresh(media_lofi)
|
|
return media_lofi
|
|
|
|
|
|
def delete_medialofi(db: Session, lofi_id: str):
|
|
"""
|
|
Delete MediaLofi with given ID from db.
|
|
"""
|
|
print("delete MediaLofi with id %s", lofi_id)
|
|
lofi = db.get(MediaLofi, lofi_id)
|
|
db.delete(lofi)
|
|
db.commit()
|
|
|