from data.database import get_connection, initialize_database SAMPLE_BOOKS = [ { "title": "1984", "author": "George Orwell", "category": "Distopya", "price": 180.00, "stock": 10, }, { "title": "Hayvan Çiftliği", "author": "George Orwell", "category": "Distopya", "price": 145.00, "stock": 13, }, { "title": "Cesur Yeni Dünya", "author": "Aldous Huxley", "category": "Distopya", "price": 195.00, "stock": 7, }, { "title": "Fahrenheit 451", "author": "Ray Bradbury", "category": "Distopya", "price": 175.00, "stock": 8, }, { "title": "Dune", "author": "Frank Herbert", "category": "Bilim Kurgu", "price": 320.00, "stock": 7, }, { "title": "Dune Mesihi", "author": "Frank Herbert", "category": "Bilim Kurgu", "price": 285.00, "stock": 5, }, { "title": "Vakıf", "author": "Isaac Asimov", "category": "Bilim Kurgu", "price": 260.00, "stock": 9, }, { "title": "Ben, Robot", "author": "Isaac Asimov", "category": "Bilim Kurgu", "price": 230.00, "stock": 6, }, { "title": "Marslı", "author": "Andy Weir", "category": "Bilim Kurgu", "price": 290.00, "stock": 8, }, { "title": "Otostopçunun Galaksi Rehberi", "author": "Douglas Adams", "category": "Bilim Kurgu", "price": 245.00, "stock": 11, }, { "title": "Simyacı", "author": "Paulo Coelho", "category": "Roman", "price": 150.00, "stock": 8, }, { "title": "Körlük", "author": "José Saramago", "category": "Roman", "price": 210.00, "stock": 4, }, { "title": "Serenad", "author": "Zülfü Livaneli", "category": "Roman", "price": 225.00, "stock": 10, }, { "title": "Kürk Mantolu Madonna", "author": "Sabahattin Ali", "category": "Roman", "price": 135.00, "stock": 15, }, { "title": "İnce Memed", "author": "Yaşar Kemal", "category": "Roman", "price": 280.00, "stock": 7, }, { "title": "Tutunamayanlar", "author": "Oğuz Atay", "category": "Roman", "price": 340.00, "stock": 6, }, { "title": "Saatleri Ayarlama Enstitüsü", "author": "Ahmet Hamdi Tanpınar", "category": "Roman", "price": 220.00, "stock": 8, }, { "title": "Suç ve Ceza", "author": "Fyodor Dostoyevski", "category": "Klasik", "price": 240.00, "stock": 6, }, { "title": "Karamazov Kardeşler", "author": "Fyodor Dostoyevski", "category": "Klasik", "price": 390.00, "stock": 4, }, { "title": "Sefiller", "author": "Victor Hugo", "category": "Klasik", "price": 360.00, "stock": 5, }, { "title": "Monte Cristo Kontu", "author": "Alexandre Dumas", "category": "Klasik", "price": 410.00, "stock": 3, }, { "title": "Anna Karenina", "author": "Lev Tolstoy", "category": "Klasik", "price": 375.00, "stock": 5, }, { "title": "Vadideki Zambak", "author": "Honoré de Balzac", "category": "Klasik", "price": 170.00, "stock": 7, }, { "title": "Yüzüklerin Efendisi", "author": "J. R. R. Tolkien", "category": "Fantastik", "price": 450.00, "stock": 5, }, { "title": "Hobbit", "author": "J. R. R. Tolkien", "category": "Fantastik", "price": 275.00, "stock": 9, }, { "title": "Harry Potter ve Felsefe Taşı", "author": "J. K. Rowling", "category": "Fantastik", "price": 260.00, "stock": 12, }, { "title": "Taht Oyunları", "author": "George R. R. Martin", "category": "Fantastik", "price": 390.00, "stock": 6, }, { "title": "Küçük Prens", "author": "Antoine de Saint-Exupéry", "category": "Çocuk", "price": 120.00, "stock": 12, }, { "title": "Şeker Portakalı", "author": "José Mauro de Vasconcelos", "category": "Çocuk", "price": 155.00, "stock": 10, }, { "title": "Momo", "author": "Michael Ende", "category": "Çocuk", "price": 190.00, "stock": 8, }, { "title": "Sapiens", "author": "Yuval Noah Harari", "category": "Tarih", "price": 290.00, "stock": 9, }, { "title": "Homo Deus", "author": "Yuval Noah Harari", "category": "Tarih", "price": 310.00, "stock": 7, }, { "title": "Nutuk", "author": "Mustafa Kemal Atatürk", "category": "Tarih", "price": 250.00, "stock": 14, }, { "title": "Doğu Ekspresinde Cinayet", "author": "Agatha Christie", "category": "Polisiye", "price": 185.00, "stock": 9, }, { "title": "Sherlock Holmes: Kızıl Dosya", "author": "Arthur Conan Doyle", "category": "Polisiye", "price": 165.00, "stock": 8, }, { "title": "Ejderha Dövmeli Kız", "author": "Stieg Larsson", "category": "Polisiye", "price": 280.00, "stock": 5, }, { "title": "İnsanın Anlam Arayışı", "author": "Viktor E. Frankl", "category": "Psikoloji", "price": 190.00, "stock": 11, }, { "title": "Düşünme, Hızlı ve Yavaş", "author": "Daniel Kahneman", "category": "Psikoloji", "price": 350.00, "stock": 6, }, { "title": "Sofinin Dünyası", "author": "Jostein Gaarder", "category": "Felsefe", "price": 275.00, "stock": 8, }, { "title": "Devlet", "author": "Platon", "category": "Felsefe", "price": 215.00, "stock": 7, }, ] def seed_books() -> None: """Örnek kitapları veritabanına ekler.""" initialize_database() query = """ INSERT OR IGNORE INTO books ( title, author, category, price, stock ) VALUES (?, ?, ?, ?, ?) """ with get_connection() as connection: for book in SAMPLE_BOOKS: connection.execute( query, ( book["title"], book["author"], book["category"], book["price"], book["stock"], ), ) connection.commit() book_count = connection.execute( "SELECT COUNT(*) AS total FROM books" ).fetchone()["total"] print("Örnek kitaplar başarıyla eklendi.") print(f"Veritabanındaki toplam kitap sayısı: {book_count}") if __name__ == "__main__": seed_books()