Skip to content

Commit 6abc5ea

Browse files
committed
Project Updated (v1.0)
1 parent 2b7b9a0 commit 6abc5ea

9 files changed

+271
-291
lines changed

database_processing.py

Lines changed: 71 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,122 @@
1-
from flask import Flask, render_template, redirect, url_for
2-
from flask_sqlalchemy import SQLAlchemy
3-
from werkzeug.exceptions import InternalServerError
41
import sqlite3
5-
import webbrowser
6-
import threading
7-
from PyQt5.QtWidgets import QMessageBox
82
import sys
3+
import threading
4+
import webbrowser
95

10-
sys.tracebacklimit = 0 # traceback görüntülenmemesi için
11-
12-
vt = sqlite3.connect("veritabani.db")
13-
im = vt.cursor()
14-
im.execute("""SELECT * FROM metin__anahtar__tablo""")
15-
veriler = (
16-
im.fetchall()
17-
) # tablodaki verileri fetchall fonksiyonu ile veriler değişkenine alıyorum
6+
from flask import Flask, redirect, render_template, url_for
7+
from flask_sqlalchemy import SQLAlchemy
8+
from PyQt5.QtWidgets import QMessageBox
9+
from werkzeug.exceptions import InternalServerError
1810

19-
app = Flask(__name__)
20-
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///veritabani.db"
11+
app = Flask("database")
12+
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///database.db"
2113
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
2214
db = SQLAlchemy(app)
2315

2416

25-
class Metin_Anahtar_Tablo(db.Model):
17+
class text_keyword_table(db.Model):
2618
id = db.Column(db.Integer, primary_key=True)
27-
Metin = db.Column(db.String, unique=True, nullable=False)
28-
Lemma_metin = db.Column(db.String, unique=True, nullable=False)
29-
Metin_pos = db.Column(db.String, unique=True, nullable=False)
30-
Anahtar = db.Column(db.String, unique=True, nullable=False)
19+
text = db.Column(db.String, unique=True, nullable=False)
20+
text_lemma = db.Column(db.String, unique=True, nullable=False)
21+
text_pos = db.Column(db.String, unique=True, nullable=False)
22+
keyword = db.Column(db.String, unique=True, nullable=False)
3123

3224

3325
db.create_all()
3426

35-
gelen_metin = ""
36-
gelen_metin_lemma_str = ""
37-
gelen_metin_lemma_pos_str = ""
38-
gelen_siralanmis_anahtar_kelimeler_str = ""
27+
sys.tracebacklimit = 0 # traceback görüntülenmemesi için
28+
database_connection = sqlite3.connect("database.db")
29+
cursor = database_connection.cursor()
30+
cursor.execute("""SELECT * FROM text_keyword_table""")
31+
database_datas = cursor.fetchall()
3932

33+
new_data_list = []
4034

41-
def degiskenleri_al(metin, metin_lemma, metin_token_pos, siralanmis_anahtar_kelimeler):
42-
global gelen_metin
43-
gelen_metin = metin
4435

45-
global gelen_metin_lemma_str
46-
global gelen_metin_lemma_pos_str
47-
global gelen_siralanmis_anahtar_kelimeler_str
36+
def new_data_preprocessing(
37+
new_data,
38+
): # new_data: Tuple: TEXT, lemma_list, pos_list, sorted_key_words_or_phrases
39+
new_data_list.append(new_data[0])
4840

49-
gelen_metin_lemma_str = " ".join(
50-
metin_lemma
51-
) # metin_lemma listesini boşluğa göre listedeki kelimeleri birleştirip str elde ediyorum.
41+
new_data_list.append(" ".join(new_data[1]))
5242

53-
for i, y in zip(metin_lemma, metin_token_pos):
54-
gelen_metin_lemma_pos_str = (
55-
gelen_metin_lemma_pos_str + str("(" + i + " - " + y + ")") + ", "
56-
)
43+
# Lemma Word + POS Type Word = lemma_pos_text (String)
44+
lemma_pos_text = ""
45+
for i, y in zip(new_data[1], new_data[2]):
46+
lemma_pos_text = lemma_pos_text + str("(" + i + " - " + y + ")") + ", "
47+
new_data_list.append(lemma_pos_text)
5748

58-
for i, y in zip(
59-
siralanmis_anahtar_kelimeler, range(len(siralanmis_anahtar_kelimeler))
60-
):
61-
gelen_siralanmis_anahtar_kelimeler_str = (
62-
gelen_siralanmis_anahtar_kelimeler_str + str(y + 1) + " - " + str(i) + ", "
49+
# sorted_key_words_or_phrases convert to String and Different Format: sorted_key_words_or_phrases_str
50+
sorted_key_words_or_phrases_str=""
51+
for i, y in zip(new_data[3], range(len(new_data[3]))):
52+
sorted_key_words_or_phrases_str = (
53+
sorted_key_words_or_phrases_str + str(y + 1) + " - " + str(i) + ", "
6354
)
55+
new_data_list.append(sorted_key_words_or_phrases_str)
6456

6557

66-
def veritabani_kayit_ekle():
67-
for i in range(
68-
len(veriler)
69-
): # Tabloda aynı kayıt var mı, yok mu kontrolü. for/else yapısı
58+
def database_add_record():
59+
for i, database_data in enumerate(
60+
(database_datas)
61+
): # Check if there is the same record in the table or not. for/else structure.
7062
if (
71-
veriler[i][1] == gelen_metin
72-
or veriler[i][2] == gelen_metin_lemma_str
73-
or veriler[i][3] == gelen_metin_lemma_pos_str
74-
or veriler[i][4] == gelen_siralanmis_anahtar_kelimeler_str
63+
database_data[1] == new_data_list[0]
64+
or database_data[2] == new_data_list[1]
65+
or database_data[3] == new_data_list[2]
66+
or database_data[4] == new_data_list[3]
7567
):
76-
vrtbni_ekle_hata = QMessageBox()
77-
vrtbni_ekle_hata.setIcon(QMessageBox.Critical)
78-
vrtbni_ekle_hata.setText("The same record exists in the database!")
79-
vrtbni_ekle_hata.setWindowTitle("Warning")
80-
vrtbni_ekle_hata.exec_()
68+
database_add_error = QMessageBox()
69+
database_add_error.setIcon(QMessageBox.Critical)
70+
database_add_error.setText("The same record exists in the database!")
71+
database_add_error.setWindowTitle("Warning")
72+
database_add_error.exec_()
8173
break
8274
else:
83-
a = Metin_Anahtar_Tablo(
84-
Metin=gelen_metin,
85-
Lemma_metin=gelen_metin_lemma_str,
86-
Metin_pos=gelen_metin_lemma_pos_str,
87-
Anahtar=gelen_siralanmis_anahtar_kelimeler_str,
75+
cursor.execute(
76+
"""INSERT INTO text_keyword_table (text,text_lemma,text_pos, keyword) VALUES
77+
(?, ?, ?, ?)""",
78+
new_data_list,
8879
)
89-
db.session.add(a)
90-
db.session.commit()
91-
vrtbni_ekle = QMessageBox()
92-
vrtbni_ekle.setIcon(QMessageBox.Information)
93-
vrtbni_ekle.setText("Added Record to Database")
94-
vrtbni_ekle.setWindowTitle("Process Completed")
95-
vrtbni_ekle.exec_()
80+
database_connection.commit()
81+
82+
database_add = QMessageBox()
83+
database_add.setIcon(QMessageBox.Information)
84+
database_add.setText("Added Record to Database")
85+
database_add.setWindowTitle("Process Completed")
86+
database_add.exec_()
9687

9788

9889
@app.route("/")
99-
def Veritabani_Goruntule():
100-
Veritabani_Goruntule = Metin_Anahtar_Tablo.query.paginate()
101-
return render_template(
102-
"veritabani_sayfasi.html", Veritabani_Goruntule=Veritabani_Goruntule
103-
)
90+
def view_database():
91+
view_database = text_keyword_table.query.paginate()
92+
return render_template("database_page.html", view_database=view_database)
10493

10594

10695
app.secret_key = "super secret key"
10796

10897

10998
@app.route("/delete/<int:id>", methods=["POST", "GET"])
110-
def Veritabani_SatirSil(id):
99+
def Database_DeleteRow(id):
111100
try:
112-
veri = Metin_Anahtar_Tablo.query.get(id)
113-
db.session.delete(veri)
101+
data = text_keyword_table.query.get(id)
102+
db.session.delete(data)
114103
db.session.commit()
115-
return redirect(url_for("Veritabani_Goruntule"))
104+
return redirect(url_for("view_database"))
116105
except Exception as e:
117106
print("Hata: " + str(e))
118107

119108

120109
@app.errorhandler(InternalServerError)
121110
def handle_500(e):
122-
original = getattr(e, "Hata", None)
123-
return render_template("hata_sayfasi.html", e=original)
111+
original = getattr(e, "Error", None)
112+
return render_template("error_page.html", e=original)
124113

125114

126-
def calistir():
115+
def run():
127116
webbrowser.open_new_tab("http://127.0.0.1:5000/")
128117
app.run(debug=False)
129118

130119

131-
def calistir_threading():
132-
t1 = threading.Thread(target=calistir)
120+
def run_threading():
121+
t1 = threading.Thread(target=run)
133122
t1.start()

0 commit comments

Comments
 (0)