Skip to content

Commit a146a15

Browse files
committed
Updates
1 parent 572779a commit a146a15

23 files changed

+104
-80
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
_pycache_/
22
token
3+
output

AddBook.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
from tkinter.messagebox import showerror, showwarning, showinfo
55
from tkcalendar import DateEntry
66
import datetime
7+
import os
8+
import sys
79

8-
db = LMS("db/lms.db")
10+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
911

10-
class AddBook(customtkinter.CTk):
11-
def __init__(self):
12-
super().__init__()
12+
class AddBook(customtkinter.CTkToplevel):
13+
def __init__(self, master=None):
14+
super().__init__(master)
1315
self.title("Library Management System")
1416
self.minsize(500,400)
1517
self.maxsize(500,400)

BookReport.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
from tkinter.messagebox import showerror, showinfo
55
from tkinter import filedialog
66
import pandas as pd
7+
import os
8+
import sys
79

8-
db = LMS("db/lms.db")
10+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
911

10-
class BookReport(customtkinter.CTk):
11-
def __init__(self):
12-
super().__init__()
12+
class BookReport(customtkinter.CTkToplevel):
13+
def __init__(self, master=None):
14+
super().__init__(master)
1315
self.title("Library Management System")
1416
self.minsize(400,300)
1517
self.maxsize(400,300)

DeleteBook.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import tkinter
33
from database import LMS
44
from tkinter.messagebox import showerror, showinfo
5+
import os
6+
import sys
57

6-
db = LMS("db/lms.db")
8+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
79

8-
class DeleteBook(customtkinter.CTk):
9-
def __init__(self):
10-
super().__init__()
10+
class DeleteBook(customtkinter.CTkToplevel):
11+
def __init__(self, master=None):
12+
super().__init__(master)
1113
self.title("Library Management System")
1214
self.minsize(400,250)
1315
self.maxsize(400,250)
@@ -32,7 +34,9 @@ def __init__(self):
3234
delete_book_btn.pack(padx=10,pady=10)
3335

3436
def delete_book(self):
35-
if self.book_id_input.get() in db.all_book_id():
37+
id_lists = db.all_book_id()
38+
new_id_lists = [t[0] for t in id_lists]
39+
if int(self.book_id_input.get()) in new_id_lists:
3640
res = db.delete_book(self.book_id_input.get())
3741
if res == 'deleted':
3842
showinfo(title="Deleted",message=f"Book ID : {self.book_id_input.get()}, deleted successfully.")

EditBook.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
from database import LMS
44
from tkinter.messagebox import showerror, showwarning, showinfo
55
from tkcalendar import DateEntry
6+
import os
7+
import sys
68

7-
db = LMS("db/lms.db")
9+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
810

9-
class EditBook(customtkinter.CTk):
10-
def __init__(self):
11-
super().__init__()
11+
class EditBook(customtkinter.CTkToplevel):
12+
def __init__(self, master=None):
13+
super().__init__(master)
1214
self.title("Library Management System")
1315
self.minsize(500,490)
1416
self.maxsize(500,490)

IssueBook.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@
55
from tkinter import ttk
66
import datetime
77
import json
8+
import os
9+
import sys
810

9-
db = LMS("db/lms.db")
11+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
1012

11-
with open("config/settings.json", "r") as settings_file:
13+
settings_file_path = os.path.join(os.path.dirname(sys.executable), 'settings.json')
14+
with open(settings_file_path, "r") as settings_file:
1215
settings = json.load(settings_file)
1316

14-
15-
class IssueBook(customtkinter.CTk):
16-
def __init__(self):
17-
super().__init__()
17+
class IssueBook(customtkinter.CTkToplevel):
18+
def __init__(self, master=None):
19+
super().__init__(master)
1820
self.title("Library Management System")
1921
self.minsize(400,250)
2022
self.maxsize(400,250)

Miscellaneous.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@
33
from tkinter import ttk
44
from database import LMS
55
from tkinter.messagebox import showinfo
6+
import os
7+
import sys
68

9+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
710

8-
db = LMS("db/lms.db")
911

10-
11-
class Miscellaneous(customtkinter.CTk):
12-
def __init__(self):
13-
super().__init__()
12+
class Miscellaneous(customtkinter.CTkToplevel):
13+
def __init__(self, master=None):
14+
super().__init__(master)
1415
self.title("Library Management System")
15-
self.minsize(1450,450)
16-
self.maxsize(1450,450)
17-
self.geometry('1450x450')
16+
self.minsize(1300,450)
17+
self.maxsize(1300,450)
18+
self.geometry('1300x450')
1819

1920
heading_frame = customtkinter.CTkFrame(master=self,corner_radius=10)
2021
heading_frame.pack(padx=10,pady=10, ipadx=20, ipady=5,fill="x",anchor="n")

ReturnBook.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@
44
from tkinter.messagebox import showerror, showinfo, askyesno
55
import datetime
66
import json
7+
import os
8+
import sys
79

8-
db = LMS("db/lms.db")
10+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
911

10-
with open("config/settings.json", "r") as settings_file:
12+
settings_file_path = os.path.join(os.path.dirname(sys.executable), 'settings.json')
13+
with open(settings_file_path, "r") as settings_file:
1114
settings = json.load(settings_file)
1215

13-
14-
class ReturnBook(customtkinter.CTk):
15-
def __init__(self):
16-
super().__init__()
16+
class ReturnBook(customtkinter.CTkToplevel):
17+
def __init__(self, master=None):
18+
super().__init__(master)
1719
self.title("Library Management System")
1820
self.minsize(400,250)
1921
self.maxsize(400,250)
@@ -46,7 +48,7 @@ def return_book(self):
4648
if book_id in self.all_book_id():
4749
status = 'issued'
4850
if status in db.select_book_status(book_id):
49-
book_detl = db.select_issued_bool_det(book_id)
51+
book_detl = db.select_issued_book_det(book_id)
5052

5153
std_exp_dt = datetime.datetime.strptime(book_detl[2], "%Y-%m-%d %H:%M:%S")
5254
if std_exp_dt < datetime.datetime.now():
@@ -100,7 +102,7 @@ def save_fine_details(self,book_id,student_id,issued_dt,fine):
100102
book_id,
101103
student_id,
102104
issued_dt,
103-
std_exp_dt,
105+
std_dt,
104106
fine[0],
105107
fine[1]
106108
)

ViewBooks.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@
44
from database import LMS
55
from tkinter.messagebox import showinfo
66
import datetime
7+
import os
8+
import sys
79

10+
db = LMS(os.path.join(os.path.dirname(sys.executable), "lms.db"))
811

9-
db = LMS("db/lms.db")
1012

11-
12-
class ViewBooks(customtkinter.CTk):
13-
def __init__(self):
14-
super().__init__()
13+
class ViewBooks(customtkinter.CTkToplevel):
14+
def __init__(self, master=None):
15+
super().__init__(master)
1516
self.title("Library Management System")
16-
self.minsize(1450,450)
17-
self.maxsize(1450,450)
18-
self.geometry('1450x450')
17+
self.minsize(1300,450)
18+
self.maxsize(1300,450)
19+
self.geometry('1300x450')
1920

2021
heading_frame = customtkinter.CTkFrame(master=self,corner_radius=10)
2122
heading_frame.pack(padx=10,pady=10, ipadx=20, ipady=5,fill="x",anchor="n")

__pycache__/AddBook.cpython-311.pyc

7.01 KB
Binary file not shown.
5.92 KB
Binary file not shown.
4.09 KB
Binary file not shown.

__pycache__/EditBook.cpython-311.pyc

9.28 KB
Binary file not shown.

__pycache__/IssueBook.cpython-311.pyc

6.8 KB
Binary file not shown.
9.78 KB
Binary file not shown.
7.59 KB
Binary file not shown.

__pycache__/ViewBooks.cpython-311.pyc

13.9 KB
Binary file not shown.

__pycache__/database.cpython-311.pyc

1.44 KB
Binary file not shown.

config/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"theme": "Dark",
3-
"color_theme": "green",
3+
"color_theme": "dark-blue",
44
"charge_per_day": 5,
55
"issue_duration": 1,
66
"footer_txt": "Developed By Raunak Raj!"

db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def create_table(conn, create_table_sql):
3232

3333

3434
def main():
35-
database = r"/sdcard/Codes/LMS/db/lms.db"
35+
database = "./lms.db"
3636

3737
sql_create_projects_table = """ CREATE TABLE IF NOT EXISTS books (
3838
book_id integer PRIMARY KEY,

db/lms.db

0 Bytes
Binary file not shown.

main.py

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,22 @@
88
from ReturnBook import *
99
from BookReport import *
1010
from Miscellaneous import *
11-
from PIL import ImageTk
1211
import json
1312
from tkinter import filedialog
13+
from tkinter.messagebox import askokcancel
14+
import os
15+
import sys
1416

15-
with open("config/settings.json", "r") as settings_file:
17+
settings_file_path = os.path.join(os.path.dirname(sys.executable), 'settings.json')
18+
with open(settings_file_path, "r") as settings_file:
1619
settings = json.load(settings_file)
1720

1821
customtkinter.set_appearance_mode(settings["theme"])
1922
customtkinter.set_default_color_theme(settings["color_theme"])
2023

21-
class Setting(customtkinter.CTk):
22-
def __init__(self):
23-
super().__init__()
24+
class Setting(customtkinter.CTkToplevel):
25+
def __init__(self, master=None):
26+
super().__init__(master)
2427
self.title("Library Management System")
2528
self.minsize(300,450)
2629
self.maxsize(300,450)
@@ -69,32 +72,35 @@ def __init__(self):
6972

7073
self.save_setting = customtkinter.CTkButton(master=self.main_frame, text="Save",command=self.save_settings)
7174
self.save_setting.grid(column=2,row=6,padx=5,pady=5)
75+
76+
watermark = customtkinter.CTkLabel(master=self,text="Developed By Raunak Raj")
77+
watermark.pack(padx=10,pady=5, ipadx=5, ipady=5,fill="x",expand=True)
7278

7379
def change_theme(self, new_theme_mode:str):
7480
settings["theme"] = new_theme_mode
75-
f = open("config/settings.json","w")
81+
f = open("settings.json","w")
7682
json.dump(settings,f,indent=4)
7783
customtkinter.set_appearance_mode(new_theme_mode)
7884

7985
def change_theme_color(self, new_theme_color:str):
8086
settings["color_theme"] = new_theme_color
81-
f = open("config/settings.json","w")
87+
f = open("settings.json","w")
8288
json.dump(settings,f,indent=4)
8389
customtkinter.set_default_color_theme(new_theme_color)
8490

8591
def change_issue_duration(self, issue_dur):
8692
settings["issue_duration"] = issue_dur
87-
f = open("config/settings.json","w")
93+
f = open("settings.json","w")
8894
json.dump(settings,f,indent=4)
8995

9096
def change_charge_per_day(self, per_day_charge):
9197
settings["charge_per_day"] = per_day_charge
92-
f = open("config/settings.json","w")
98+
f = open("settings.json","w")
9399
json.dump(settings,f,indent=4)
94100

95101
def change_footer_txt(self, txt):
96102
settings["footer_txt"] = txt
97-
f = open("config/settings.json","w")
103+
f = open("settings.json","w")
98104
json.dump(settings,f,indent=4)
99105

100106
def save_settings(self):
@@ -117,8 +123,6 @@ def __init__(self):
117123
self.minsize(600,430)
118124
self.maxsize(600,430)
119125
self.geometry('600x430')
120-
icon_path = ImageTk.PhotoImage(file="new_logo.png")
121-
self.iconphoto(False, icon_path)
122126

123127
heading_frame = customtkinter.CTkFrame(master=self,corner_radius=10)
124128
heading_frame.pack(padx=10,pady=10, ipadx=20, ipady=5,fill="x",anchor="n")
@@ -170,42 +174,45 @@ def __init__(self):
170174
footer_frame.pack(padx=20,pady=10,fill="x",anchor="s")
171175
dev_by_label = customtkinter.CTkLabel(master=footer_frame,text=settings["footer_txt"],bg_color="#f55d5d")
172176
dev_by_label.pack()
173-
177+
178+
watermark = customtkinter.CTkLabel(master=self,text="Developed By Raunak Raj")
179+
watermark.place(relx = 0.7, rely = 0.9, anchor = 'sw')
180+
174181
def add_book_win(self):
175-
app = AddBook()
176-
app.mainloop()
182+
app = AddBook(self)
183+
app.focus()
177184

178185
def edit_book_win(self):
179-
app = EditBook()
180-
app.mainloop()
186+
app = EditBook(self)
187+
app.focus()
181188

182189
def delete_book_win(self):
183-
app = DeleteBook()
184-
app.mainloop()
190+
app = DeleteBook(self)
191+
app.focus()
185192

186193
def view_book_win(self):
187-
app = ViewBooks()
188-
app.mainloop()
194+
app = ViewBooks(self)
195+
app.focus()
189196

190197
def issue_book_win(self):
191-
app = IssueBook()
192-
app.mainloop()
198+
app = IssueBook(self)
199+
app.focus()
193200

194201
def return_book_win(self):
195-
app = ReturnBook()
196-
app.mainloop()
202+
app = ReturnBook(self)
203+
app.focus()
197204

198205
def book_report_win(self):
199-
app = BookReport()
200-
app.mainloop()
206+
app = BookReport(self)
207+
app.focus()
201208

202209
def miscellaneous_case_win(self):
203-
app = Miscellaneous()
204-
app.mainloop()
210+
app = Miscellaneous(self)
211+
app.focus()
205212

206213
def settings_win(self):
207-
app = Setting()
208-
app.mainloop()
214+
app = Setting(self)
215+
app.focus()
209216

210217
def import_student(self):
211218
try:

requirements.txt

390 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)