def issue_book(mem_name, book_acn):
    issue = setu.cursor()
    print("@issue book:")
    print(book_acn)
    print()
    status = is_book_available(book_acn)
    print(status)
    if status:

        mem_id = get_memid(mem_name)
        print(mem_id)
        if mem_id == -1:
            print('member dont exists')
            return -1
            # wrong member id

        else:
            query = "insert into borrows (issue_date, issue_time, issuers_member_id, book_accession_number) values(CURDATE(), CURTIME(), %s, %s)"
            query2 = "update books set is_available = 0 where accession_number=\'" + book_acn + "\';"
            val = (mem_id, book_acn)

            #exceptions
            issue.execute(query, val)
            setu.commit()
            issue.execute(query2)
            setu.commit()

            print("Book issued")
    else:
        return -2
Ejemplo n.º 2
0
def return_book(mem_id, acn, return_date, remark):
    tray = setu.cursor()
    #validation of parameters
    mem_status = does_member_exist(mem_id)
    book_issued = is_book_issued(acn)

    query = "UPDATE borrows SET return_date = %s, remarks = %s where issuers_id = %s and accession_number = %s;"
    values = (return_date, remark, mem_id, acn)
    query1 = "UPDATE books SET is_available = 1 where accession_number = \'" + acn + "\'"

    if mem_status and book_issued:
        try:
            tray.execute(query, values)
            tray.execute(query1)
        except ms.IntegrityError as err:
            print("Intergrity Error: " + str(err))
        except ms.Error as err:
            print("Other Error: " + str(err))

        if (tray.rowcount == 1):
            setu.commit()
            print(str(tray.rowcount) + " Book Returned")
            return True
        elif (tray.rowcount == -1):
            print("Error ala re")
        else:
            print("Jast books returned zhale wattat " + str(tray.rowcount))
    else:
        if mem_status == False:
            return -1
        elif book_issued == False:
            return -2
Ejemplo n.º 3
0
def add_new_member(m_type, m_mno, email_id, m_fullname):
    add = setu.cursor()
    query = "INSERT into members(member_type,mobile_number,email_id,full_name) values(%s,%s,%s,%s)"
    val = (m_type, m_mno, email_id, m_fullname)
    add.execute(query, val)
    setu.commit()
    print(add.rowcount, " Member record inserted")
def return_book(mem_id, book_acn, remarks=""):
    wapas = setu.cursor()
    query = "update borrows set return_date = CURDATE(), return_time=CURTIME(), remarks=%s where issuers_member_id=%s and book_accession_number=%s;"
    val = (remarks, mem_id, book_acn)

    wapas.execute(query, val)
    setu.commit()
    print(wapas)
    print(wapas.fetchall)
    print("Book returned")
Ejemplo n.º 5
0
def add_new_member(mtype, mmno, emailid, fname):
    add = setu.cursor()
    query = "insert into members(member_type, mobile_number ,email_id, full_name ) values(%s,%s,%s,%s)"
    val = (mtype.upper(), mmno, emailid, fname.upper())
    try:
        add.execute(query, val)
        setu.commit()
    except ms.IntegrityError as err:
        return err

    print(add.rowcount, " Members added into Database")
    return 1
Ejemplo n.º 6
0
def add_new_member(m_type, m_mno, email_id, m_fullname):
    add = setu.cursor()
    query = "INSERT into members(member_type,mobile_number,email_id,full_name) values(%s,%s,%s,%s)"
    val = (m_type, m_mno, email_id, m_fullname)
    try:
        add.execute(query, val)
        setu.commit()
    except ms.IntegrityError as er:
        return er

    print(add.rowcount, " Member record inserted")
    return 1
def add_new_book(acn, title, price, author, publisher):
    add = setu.cursor()
    query = "INSERT INTO books(accession_number, title, price, author, publisher) values(%s,%s,%s,%s,%s)"
    val = (acn, title, price, author, publisher)
    try:
        add.execute(query, val)

    except ms.IntegrityError as err:
        err_msg = "Error: {}".format(err)
        return err_msg
    setu.commit()
    print(str(add.rowcount) + " Book added Successfully")
    return 0
Ejemplo n.º 8
0
def delete_member_by_id(mid):
    nsht = setu.cursor()
    query = "delete from members where member_id = " + str(mid) + ";"
    try:
        nsht.execute(query)
        setu.commit()
    except db.Error as err:
        print(err)

    print(str(nsht.rowcount) + " member deleted Successfully")

    if nsht.rowcount == 0:
        return -1
    elif nsht.rowcount == 1:
        return 1
    else:
        return nsht.rowcount
Ejemplo n.º 9
0
def delete_book(acn):
    delete = setu.cursor()
    query = "delete from books where accession_number = \'" + str(acn) + "\'"

    try:
        delete.execute(query)
    except db.Error as err:
        print(err)
        return err

    setu.commit()
    print(str(delete.rowcount) + " Books Deleted Successfully")
    if delete.rowcount == 0:
        return -1
    elif delete.rowcount == 1:
        return 1
    else:
        return delete.rowcount
Ejemplo n.º 10
0
def insert_new_book(acn, title, shelf_no, price, author, publisher):
    add = setu.cursor()
    query = "INSERT INTO books(accession_number, title, shelf_no, price, authors, publisher, is_available) values(%s,%s,%s,%s,%s,%s,%s)"

    val = (acn, title, shelf_no, price, author, publisher, '1')
    try:
        add.execute(query, val)

    except db.Error as err:
        print(format(err))
        return err
    except db.IntegrityError as err:
        err = "Error: {}".format(err)
        return err

    setu.commit()
    print(str(add.rowcount) + " Book added Successfully")
    return True
Ejemplo n.º 11
0
def issue_book(mem_id, acn, issue_date):
    tray = setu.cursor()

    #validation of parameters
    mem_status = does_member_exist(mem_id)  #
    book_status = is_book_available(
        acn
    )  # if returns -1 pop error " wrong accession no." (book exists check is implicit)

    if mem_status and book_status:
        #print(acn + " " + mem_id)
        #print(issue_date)
        query = "INSERT into borrows(issue_date, issuers_id, accession_number) values(%s, %s, %s)"
        query1 = "UPDATE books set is_available = 0 where accession_number=\'" + str(
            acn) + "\'"
        values = (issue_date, mem_id, acn)

        try:
            tray.execute(query, values)
            tray.execute(query1)
        except ms.IntegrityError as err:
            print("Intergrity Error: " + str(err))
        except ms.Error as err:
            print("Other Error: " + str(err))

        print(str(tray.statement))

        if (tray.rowcount == 1):
            setu.commit()
            print(str(tray.rowcount) + " Book issues")
            return True
        elif (tray.rowcount == -1):
            print("Error ala re")
            return False
        else:
            print("Jast books issue zhale wattat " + str(tray.rowcount))
            return False
    else:
        if mem_status == False:
            return -1
        elif book_status == False:
            return -2
Ejemplo n.º 12
0
def delete_book(accn_no):
    delete = setu.cursor()
    query = "DELETE from books where accession_number=\'"+accn_no+"\'"
    print(query)
    delete.execute(query)
    setu.commit()