From ad7754b38b8620ec555229158c06ab5027f99dd5 Mon Sep 17 00:00:00 2001 From: vadzik Date: Fri, 15 Dec 2023 17:09:59 +0300 Subject: [PATCH] save img in db --- AmDB.db | Bin 20480 -> 65536 bytes db/__init__.py | 20 ++++++++++---------- main.py | 26 ++++++++++++++++++-------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/AmDB.db b/AmDB.db index 9d2d1a62a090e35b02f616f3d65daafe696f49b8..e2f791681979d8e990346f5b5691805893aa05bc 100644 GIT binary patch literal 65536 zcmeFZWl$VJzwoWKv&@Z_Xf25&-VXQf(0;}z@R~E!J>BpFg`#({-u8e{t@^`;2(j11pX2DN8lfU ze+2#!_($L$fqw-4Ul34%MZjZVfYEX_GPX5yak7O9vj#3^PHtxQCjWgCP68+;rY=RU zE+(!ZMgHIF(%Ku@nK43-r2B3IgNR2&1QW#czuI&*GjVV>b@{IX_Wx+(zjl(-qLBZ$ zWMxV&tE4U^Ed?Z30m>?h0kz2GrL@S!zN#zBDnZ*&lu}Y>{2xdC=Qoh6OMO!(S5k)N zuL=tPvyPRW1-ZC_viSc^6;m@86K5+&S1Skm|Fbpn|8YjT|H$SrFdzVQ`Ir8`N+76} z3Q&oQG}RS^0Gg0Z}` zB(#L42Z@#dXo2h~qvZksp!fVI!}L4+F@^3#bd^<1EMDC4izDo1{viVQ}$&0~W41%3l(mi9%KJ`wnXBUWVkry}di2kR9xzFZg?+>K?iYDEQ`6V7cDG0w!=c z8_tjE_QDdQZ~@|AQu*v-^`27lz^YA#>CxFat%;$Y1dGgIO&RqLLc@135v=gu;6wjbl3HG_dUb3JQ~ zs#_-o>S@$-=5{wLtf&>bP29rVi);FvsBl#8*(SkQ{*GgcojdfiODT_j+U!%~5%F8zTy8gX9R6_U8({9u{7X^5ZJf1M zms_o5R*i0%m5VM(ogSU4hZR;t5*~t)$2w#>o#7HXz&j7GoV8Rv${NmnhN7r$@qV>x zn$Yrs<2Yw0U047XrR$yT)P*8sNZ)_$awn}?6-T;yB3Z0{{%B&3N1`k%So_f9M{*IM zUO19FdxV!tN)n#vF%ck&qy!IEFV3&w5_Sd!(C>X!?+ z{5yJ3)uv&1p1q3f5&|8IQkT39mYSWdo|>4V2&~x*b+wq8m>Jia-TGbpM9zP9Rx5@o zAZ_rLo2BkJ@5D=!wfgy#YJ(4&3$48VE0VciQyz^o6l~3gp!gH;JZk?rUig zNJ-IH^S~>nI7tf-i z0)Ri644jiH9F~`l-F~gAh+WVkyz{xasiK#vi(ufiFB;J!i#pBcJz@7>k-f+_BZ%2D za{+$|iw7(TEH$?X5I~7+TEXWoM3zOVraGMVF;lL0T zOGWM{YLfb3A46j(QsO;}4@?Mj)hkiA*^&DQICLxO zs7PVUJun{DcN*8kT3s!{7I?}-Y~hFHcT=7Y$z<2jBk)lBuA@KIzH48T;$=81)tviI z3@0Ssem^=ito$J3ssnA$>R}OqR)nGuv=kDokeH%pP{W{7srq|?qvLQ`&KNJa>KqJ9w@#YtKp1j+uZkpE* zxazB07I^`aO$WPQ-DWQH^aCl1ex9{#&~!l`2gca(;Td&DqUj>gX3{`RVtpo0S|x}>c}a3aaQ7=0#X z-q_f!b=?sDJSUdag}|9^VpXYnaiJA{X#5{~P@)xKh;D94i{G+;%Y4eRVdYAVU2&7^ zhR_;jTzEHYME3x5LBo@}r%K)TC!!4@0flKv9NE1L(t;S;43^YH`eH2eFhu@+`#MvC6ful!zC z&%9p2Iy|Rwun4++m%BI1EWYP_0Pnq%$mwYpO=bh1Lva7cfuK}m_)jLO<9pfuyG{TZ zi>c;9y3Zv2({4;vFSg6#lBNo>J6^&PoJ>?Pph7E2dQ~0ZP-iUsJR!AjN=l2Lp(j~A znB=znrR|KQkHSQ&!Yj&z-^69?w28;<&2~V8XU3IuMx6YIVjqQ@D~?T_w-rc`LrAk^ zmdyKp4f4#wPQBDtjL*c$8r3c}}7hX(G>b$>_ zx9f$aBo8!OzG;R7gc@ZC`w6Cueuz_-o9Ck3%+SGI{&634`FkO3S;~fd^v+`k0ARKL zu}tcSkF?+X-N<^;R*t9k41=)>?|W;y@`pI&o<^9x-ffX#?wTfB3r%S&&V>lCeFPfb*8@gOiiP!(-UMDuG`WZO^+ue^CKCFbv=PWT3v0=;MS-1HzIxMBbUJc_n4F53 zm@sU8!It=v7#>-7>Wy^x=u!>KW=Ss~bARxjiSc$$fe^j2Z-Spj#h$yhX zjZ-9?D&X*--+v48l0x>h-Jh`DKXB25A?&+5%;Iln*_a)ul*#w%(s8ebWVu{_)Tmjp zX3MbcpxeQe)a+`+`Abn*Nr|N*(f^d?*|bcXiX5b_tUPbxyl(5sa@CeGK-QUdSnq%NQi4gRQLViql6OU@=}gE7Xha>>g~n{f>4s%TLj# zIbp&nuz&QEvt+a+3>PV95jJ6%3&kiaw7%?y6lMFh7FE0_{|-3VkRI0;4A?0#c-@W9 z?-37I;Fl0ZUDz4c^zm--KVb1g`EJnYc%TFEJUFl*ZQ=Lc(tPV<@$hid9Qp`^2Sli| z&zP3}!d7#_d7JHcjZC&09T|I>3wUkY0fNioAZIn?Ifk?_1?sx2@VfV7cNrJ5J~=FY zmPj(Q_R)w83>pRw{T#9MvNz2Z%Lssb|9$>;Ox>YyB+TzPSStJ`4rFlMEju-¹h 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 diff --git a/db/__init__.py b/db/__init__.py index c03a82e..cda8296 100644 --- a/db/__init__.py +++ b/db/__init__.py @@ -7,12 +7,12 @@ class Record: id: int | None = None name: str | None = "" description: str | None = "" - img_path: str | None = "" + img: str | None = "" - def __init__(self, id, name, img_path, description): + def __init__(self, id, name, img, description): self.id = id self.name = name - self.img_path = img_path + self.img = img self.description = description @@ -29,17 +29,17 @@ class DB: """CREATE TABLE IF NOT EXISTS records ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, - path TEXT NOT NULL, - description BLOB + img BLOB NOT NULL, + description TEXT NOT NULL )""") self.path = path - def add_record(self, name="", description="", img_path=""): + def add_record(self, name="", description="", img=""): self.cur.execute( - '''INSERT INTO records (name, path, description) VALUES (?, ?, ?)''', (name, img_path, description)) + '''INSERT INTO records (name, img, description) VALUES (?, ?, ?)''', (name, img, description)) self.con.commit() - def edit_record(self, old_name, name="", img_path="", description=""): + def edit_record(self, old_name, name="", img="", description=""): record = self.get_record_by_name(old_name) if record.name != name: self.cur.execute( @@ -47,9 +47,9 @@ class DB: if record.description != description: self.cur.execute( 'UPDATE records SET description = ? WHERE name = ?', (description, old_name)) - if record.img_path != img_path: + if record.img != img: self.cur.execute( - 'UPDATE records SET path = ? WHERE name = ?', (img_path, old_name)) + 'UPDATE records SET img = ? WHERE name = ?', (img, old_name)) self.con.commit() def get_record_by_name(self, name): diff --git a/main.py b/main.py index 58f76c2..38e1a6f 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,4 @@ +import io from tkinter import * from tkinter import ttk, filedialog, messagebox import configparser @@ -67,7 +68,7 @@ def selected(event): selected_indices = listbox.curselection() selected = ''.join([listbox.get(i) for i in selected_indices]) record = database.get_record_by_name(selected) - img = ImageTk.PhotoImage(Image.open(record.img_path)) + img = ImageTk.PhotoImage(Image.open(io.BytesIO(record.img))) image_label.config(image=img) desc_label.insert(1.0, record.description) @@ -82,8 +83,11 @@ def add_record_window(event=""): image_path_entry.insert(0, path) def add_button(): + img = None + with open(image_path_entry.get(), 'rb') as file: + img = file.read() database.add_record(name=name_entry.get(), description=description_entry.get( - 1.0, "end-1c"), img_path=image_path_entry.get()) + 1.0, "end-1c"), img=img) load_listbox() add_window.destroy() @@ -125,8 +129,15 @@ def update_record_window(event=""): image_path_entry.insert(0, path) def edit_button(): + img = None + print(image_path_entry.get()) + if image_path_entry.get() != "": + with open(image_path_entry.get(), 'rb') as file: + img = file.read() + else: + img = record.img database.edit_record(selected, name=name_entry.get(), description=description_entry.get( - 1.0, "end-1c"), img_path=image_path_entry.get()) + 1.0, "end-1c"), img=img) load_listbox() update_window.destroy() @@ -158,7 +169,6 @@ def update_record_window(event=""): image_path_label = Label(update_window, text="Путь до изображения:") image_path_label.grid(row=2, column=0) image_path_entry = Entry(update_window, width=50) - image_path_entry.insert(0, record.img_path) image_path_entry.grid(row=2, column=1) browse_button = Button(update_window, text="Обзор", command=browse_image) browse_button.grid(row=2, column=2) @@ -262,11 +272,11 @@ def main(): fond_menu = Menu(tearoff=0) fond_menu.add_command(label="Найти...") fond_menu.add_separator() - fond_menu.add_command(label="Добавить F2", command=add_record_window) - fond_menu.add_command(label="Удалить F3", command=confirm_delete) - fond_menu.add_command(label="Изменить F4", command=update_record_window) + fond_menu.add_command(label="Добавить", accelerator="F2", command=add_record_window) + fond_menu.add_command(label="Удалить", accelerator="F3", command=confirm_delete) + fond_menu.add_command(label="Изменить", accelerator="F4", command=update_record_window) fond_menu.add_separator() - fond_menu.add_command(label="Выход Ctrl+X", command=close_prog) + fond_menu.add_command(label="Выход", accelerator="ctrl+X", command=close_prog) help_menu = Menu(tearoff=0) help_menu.add_command(label="Содержание", command=open_help_window)