update files, bring to latest code
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
__help__ = "This package contains the logic of the application."
|
||||
from .database import Database
|
||||
from .catalogue import Catalogue
|
||||
from .catalogue import Catalogue
|
||||
from .backup import Backup
|
||||
@@ -3,7 +3,7 @@ from bs4 import BeautifulSoup
|
||||
from src import config
|
||||
from src.schemas import Book
|
||||
|
||||
URL = "https://rds.ibs-bw.de/phfreiburg/opac/RDSIndex/Search?lookfor={}+&type=AllFields&limit=10&sort=py+desc%2C+title"
|
||||
URL = 'https://rds.ibs-bw.de/phfreiburg/opac/RDSIndex/Search?lookfor="{}"+&type=AllFields&limit=10&sort=py+desc%2C+title'
|
||||
BASE = "https://rds.ibs-bw.de"
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import os
|
||||
from src import config
|
||||
from pathlib import Path
|
||||
from src.schemas import USERS, MEDIA, LOANS, User, Book
|
||||
|
||||
from src.utils.stringtodate import stringToDate
|
||||
|
||||
class Database:
|
||||
def __init__(self, db_path: str = None):
|
||||
@@ -143,6 +143,32 @@ class Database:
|
||||
self.close_connection(conn)
|
||||
return cursor.lastrowid
|
||||
|
||||
def getMediaSimilarSignatureByID(self, media_id) -> list[Book]:
|
||||
query = f"SELECT * FROM media WHERE id = '{media_id}'"
|
||||
conn = self.connect()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(query)
|
||||
result = cursor.fetchone()
|
||||
signature = result[1]
|
||||
print(signature)
|
||||
query = f"SELECT * FROM media WHERE signature LIKE '%{signature}%'"
|
||||
cursor.execute(query)
|
||||
result = cursor.fetchall()
|
||||
|
||||
self.close_connection(conn)
|
||||
data = []
|
||||
for res in result:
|
||||
data.append(
|
||||
Book(
|
||||
signature=res[1],
|
||||
isbn=res[2],
|
||||
ppn=res[3],
|
||||
title=res[4],
|
||||
database_id=res[0],
|
||||
)
|
||||
)
|
||||
return data
|
||||
|
||||
def getMedia(self, media_id):
|
||||
query = f"SELECT * FROM media WHERE id = '{media_id}'"
|
||||
conn = self.connect()
|
||||
@@ -159,6 +185,25 @@ class Database:
|
||||
)
|
||||
return res
|
||||
|
||||
def getAllMedia(self, user_id):
|
||||
# get all books that have the user id in the loans table
|
||||
query = f"SELECT * FROM loans WHERE user_id = '{user_id}'"
|
||||
conn = self.connect()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(query)
|
||||
result = cursor.fetchall()
|
||||
self.close_connection(conn)
|
||||
books = []
|
||||
for res in result:
|
||||
book = self.getMedia(res[2])
|
||||
book.loan_from = res[3]
|
||||
book.loan_to = res[4]
|
||||
book.returned = res[5]
|
||||
book.returned_date = res[6]
|
||||
books.append(book)
|
||||
print(book)
|
||||
return books
|
||||
|
||||
def checkMediaExists(self, media):
|
||||
conn = self.connect()
|
||||
cursor = conn.cursor()
|
||||
@@ -182,8 +227,8 @@ class Database:
|
||||
self.close_connection(conn)
|
||||
return result
|
||||
|
||||
def returnMedia(self, media_id):
|
||||
query = f"UPDATE loans SET returned = 1 WHERE media_id = '{media_id}'"
|
||||
def returnMedia(self, media_id, returndate):
|
||||
query = f"UPDATE loans SET returned = 1, returned_date = '{returndate}' WHERE media_id = '{media_id}' AND returned = 0"
|
||||
conn = self.connect()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(query)
|
||||
@@ -222,3 +267,12 @@ class Database:
|
||||
self.close_connection(conn)
|
||||
if result is not None:
|
||||
return result[0]
|
||||
|
||||
def extendLoanDuration(self, signature, newDate):
|
||||
book_id = self.checkMediaExists(Book(signature=signature))
|
||||
query = f"UPDATE loans SET return_date = '{newDate}' WHERE media_id = '{book_id[0]}' AND returned = 0"
|
||||
conn = self.connect()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(query)
|
||||
conn.commit()
|
||||
self.close_connection(conn)
|
||||
|
||||
Reference in New Issue
Block a user