import isbnlib
import sqlite3

def barcode_reader():
    # 假設這是一個從條碼掃描器獲取條碼的函數
    # 實際中,你可能需要使用相應的函數或庫來執行條碼掃描
    scanned_barcode = input("請掃描條碼: ")
    return scanned_barcode

def get_book_info_from_barcode(barcode):
    # 假設這是你從條碼獲取書籍資訊的函數
    # 使用 isbnlib 或其他相應的庫
    book_info = isbnlib.meta(barcode)
    return book_info

def insert_book_into_database(book_info):
    # 连接到 SQLite 資料庫
    conn = sqlite3.connect('book_database.db')

    # 创建一个游标对象来执行 SQL 查询
    cursor = conn.cursor()

    # 檢查資料庫中是否已經存在相同的 ISBN
    existing_isbn = cursor.execute('SELECT isbn FROM books WHERE isbn = ?', (book_info.get('ISBN-13', 'N/A'),)).fetchone()

    if existing_isbn:
        print("書籍已存在於資料庫中。")
    else:
        # 將書籍資訊插入資料庫,使用占位符 '?' 來處理值為 'N/A' 的情況
        cursor.execute('''
            INSERT INTO books (isbn, title, author, publisher, publication_year)
            VALUES (?, ?, ?, ?, ?)
        ''', (book_info.get('ISBN-13', 'N/A'), book_info.get('Title', 'N/A'), book_info.get('Author', 'N/A'), book_info.get('Publisher', 'N/A'), book_info.get('Year', 'N/A')))

        # 提交更改
        conn.commit()
        print("書籍資訊成功插入資料庫!")

    # 关闭连接
    conn.close()


def main():
    scanned_barcode = barcode_reader()
    book_info = get_book_info_from_barcode(scanned_barcode)

    if book_info:
        insert_book_into_database(book_info)
        print("書籍資訊成功插入資料庫!")
    else:
        print("找不到相關書籍資訊。")

if __name__ == "__main__":
    main()
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT