Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ignore all __pychache__ directories

__pycache__/
107 changes: 107 additions & 0 deletions yhtyyar/book_transactions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import json


def list_all_books():
try:
with open("books.json", "r") as file:
books = json.load(file)
if len(books) == 0:
print("\033[91mKutuphanede kayitli kitap bulunmamaktadir.")
else:
print("\033[92mKutuphanede kayitli kitaplar:")
print("-" * 50)
for book in books:
# some book does not have price, so we need to check it
for keys in book:
print(f"{keys} : {book[keys]}")
print("-" * 50)
except Exception as e:
print("\033[91mBir hata olustu list all books : ", e)


def add_book():
try:
with open("books.json", "r+") as file:
books = json.load(file)
book_name = input("Kitap adini giriniz : ")
author = input("Yazar adini giriniz : ")
publisher = input("Yayinevi adini giriniz : ")
price = float(input("Fiyatini giriniz : "))
barcode = int(input("Barkod numarasini giriniz : "))
language = input("Dilini giriniz : ")

if barcode in [book["Barkod"] for book in books]:
print("\033[91mBu barkod numarasi zaten kullanilmaktadir.")
else:
books.append(
{
"Dil": language,
"Barkod": barcode,
"Fiyat": price,
"Kitap_Adi": book_name,
"Yayinevi": publisher,
"Yazar": author,
}
)
file.seek(0)
json.dump(obj=books, fp=file, indent=4)
print("\033[92mKitap basariyla eklendi.")
except Exception as e:
print("\033[91mBir hata olustu add book : ", e)


def search_book():
try:
with open("books.json", "r") as file:
books = json.load(file)
search_text = input(
"Aramak istediginiz kitap icin anahtar kelima ya da barkod numarasi girin : "
)
counter = 0
for book in books:
if (
search_text.lower() in book["Kitap_Adi"].lower()
or search_text.lower() in book["Yazar"].lower()
or search_text.lower() in book["Yayinevi"].lower()
or search_text.lower() in str(book["Barkod"]).lower()
):
counter += 1
for keys in book:
print(f"{keys} : {book[keys]}")
print("-" * 50)
if counter == 0:
print("\033[91mAranan kitap bulunamadi.")
else:
print(f"{counter} adet kitap bulundu.")
except Exception as e:
print("\033[91mBir hata olustu search book : ", e)


def delete_book():
try:
with open("books.json", "r") as file:
books = json.load(file)
barcode = input("Silmek istediginiz kitabin barkod numarasini girin : ")

for book in books:
if str(book["Barkod"]).lower() == barcode:
books.remove(book)
with open("books.json", "w") as file:
json.dump(books, file)
print("\033[92mKitap basariyla silindi.")
for keys in book:
print(f"{keys} : {book[keys]}")
print("-" * 50)
break
else:
print("\033[91mKitap bulunamadi.")
except Exception as e:
print("\033[91mBir hata olustu delete book : ", e)


book_methods = {
1: list_all_books,
2: add_book,
3: search_book,
4: delete_book,
}
1 change: 1 addition & 0 deletions yhtyyar/books.json

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions yhtyyar/get_transaction_time.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from datetime import datetime, timedelta


def transaction_start_end_time():
return datetime.now().date().strftime("%d-%m-%Y"), (
datetime.now().date() + timedelta(days=12)
).strftime("%d-%m-%Y")
75 changes: 75 additions & 0 deletions yhtyyar/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import os
import json
import menu
from book_transactions import book_methods
from member_transactions import member_methods


def check_files():
if not os.path.exists("books.json"):
with open("books.json", "w") as file:
json.dump([], file)
if not os.path.exists("members.json"):
with open("members.json", "w") as file:
json.dump(
{"new_member_id": 1, "deleted_member_ids": [], "members": []}, file
)
if not os.path.exists("tracking.json"):
with open("tracking.json", "w") as file:
json.dump({"new transaction id": 1, "transactions": []}, file)


if __name__ == "__main__":
check_files()
while True:
try:
menu.main_menu()
choice = input("Lutfen yapmak istediginiz islemin kodunu giriniz : ")
if choice == "0":
break
elif choice == "1":
while True:
menu.member_menu()
member_menu_choice = int(
input(
"Uye menusune hosgeldiniz\nLutfen yapmak istediginiz islemin kodunu giriniz : "
)
)
if member_menu_choice == 0:
break
elif not 1 <= member_menu_choice <= 7:
print("Gecersiz secim!")
menu.member_menu()
choice = int(
input(
"Uye menusune hosgeldiniz\nLutfen yapmak istediginiz islemin kodunu giriniz : "
)
)
else:
member_methods[member_menu_choice]()
elif choice == "2":
while True:
menu.book_menu()
book_menu_choice = int(
input(
"Kitap menusune hosgeldiniz\nLutfen yapmak istediginiz islemin kodunu giriniz : "
)
)
if book_menu_choice == 0:
break
elif not 1 <= book_menu_choice <= 4:
print("Gecersiz secim!")
menu.book_menu()
choice = int(
input(
"Kitap menusune hosgeldiniz\nLutfen yapmak istediginiz islemin kodunu giriniz : "
)
)
else:
book_methods[book_menu_choice]()
else:
print("Gecersiz secim!")
continue
except Exception as e:
print("Bir hata olustu : ", e)
continue
Loading