Qwael 4.0.0.0.3__tar.gz → 4.0.0.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Qwael
3
- Version: 4.0.0.0.3
3
+ Version: 4.0.0.0.4
4
4
  Summary: Qwael: İşlevsel ve kolaylaştırılmış Python kütüphanesi
5
5
  Author: Bedirhan
6
6
  Author-email: bedirhan.oytpass@gmail.com
@@ -0,0 +1,271 @@
1
+ import mysql.connector
2
+
3
+ class Admin:
4
+ def __init__(self, IP, name, password, file_name, port=3306):
5
+ self.host = IP
6
+ self.user = name
7
+ self.password = password
8
+ self.database = file_name
9
+ self.port = port
10
+
11
+ try:
12
+ self.conn = mysql.connector.connect(
13
+ host=self.host,
14
+ user=self.user,
15
+ password=self.password,
16
+ database=self.database,
17
+ port=self.port
18
+ )
19
+ self.cursor = self.conn.cursor(dictionary=True)
20
+ print("Database connected!")
21
+ except mysql.connector.Error as e:
22
+ print("Connection Error:", e)
23
+
24
+ # ------------------------------------------------------
25
+ # ADD
26
+ # ------------------------------------------------------
27
+ def add(self, table, **kwargs):
28
+ external_control = None
29
+
30
+ if "Control" in kwargs:
31
+ external_control = kwargs["Control"]
32
+ kwargs.pop("Control")
33
+
34
+ keys = ", ".join(kwargs.keys())
35
+ values = ", ".join(["%s"] * len(kwargs))
36
+ sql = f"INSERT INTO {table} ({keys}) VALUES ({values})"
37
+
38
+ try:
39
+ self.cursor.execute(sql, tuple(kwargs.values()))
40
+ self.conn.commit()
41
+ print("Added!")
42
+ if external_control is not None:
43
+ external_control.append(True)
44
+ return True
45
+ except mysql.connector.Error as e:
46
+ print("Insert Error:", e)
47
+ if external_control is not None:
48
+ external_control.append(False)
49
+ return False
50
+
51
+ # ------------------------------------------------------
52
+ # UPDATE
53
+ # ------------------------------------------------------
54
+ def update(self, table, where: dict, data: dict, Control=None):
55
+ set_clause = ", ".join([f"{k}=%s" for k in data])
56
+ where_clause = " AND ".join([f"{k}=%s" for k in where])
57
+
58
+ values = list(data.values()) + list(where.values())
59
+ sql = f"UPDATE {table} SET {set_clause} WHERE {where_clause}"
60
+
61
+ try:
62
+ self.cursor.execute(sql, values)
63
+ self.conn.commit()
64
+ print("Updated!")
65
+ if Control is not None:
66
+ Control.append(True)
67
+ return True
68
+ except mysql.connector.Error as e:
69
+ print("Update Error:", e)
70
+ if Control is not None:
71
+ Control.append(False)
72
+ return False
73
+
74
+ # ------------------------------------------------------
75
+ # DELETE
76
+ # ------------------------------------------------------
77
+ def delete(self, table, **kwargs):
78
+ external_control = None
79
+
80
+ if "Control" in kwargs:
81
+ external_control = kwargs["Control"]
82
+ kwargs.pop("Control")
83
+
84
+ where_clause = " AND ".join([f"{k}=%s" for k in kwargs])
85
+ sql = f"DELETE FROM {table} WHERE {where_clause}"
86
+
87
+ try:
88
+ self.cursor.execute(sql, tuple(kwargs.values()))
89
+ self.conn.commit()
90
+ print("Deleted!")
91
+ if external_control is not None:
92
+ external_control.append(True)
93
+ return True
94
+ except mysql.connector.Error as e:
95
+ print("Delete Error:", e)
96
+ if external_control is not None:
97
+ external_control.append(False)
98
+ return False
99
+
100
+ # ------------------------------------------------------
101
+ # GET (tek veri)
102
+ # ------------------------------------------------------
103
+ def get(self, table, **kwargs):
104
+ external_var = None
105
+ external_control = None
106
+
107
+ if "Variable" in kwargs:
108
+ external_var = kwargs["Variable"]
109
+ kwargs.pop("Variable")
110
+
111
+ if "Control" in kwargs:
112
+ external_control = kwargs["Control"]
113
+ kwargs.pop("Control")
114
+
115
+ where_clause = " AND ".join([f"{k}=%s" for k in kwargs])
116
+ sql = f"SELECT * FROM {table} WHERE {where_clause} LIMIT 1"
117
+
118
+ try:
119
+ self.cursor.execute(sql, tuple(kwargs.values()))
120
+ row = self.cursor.fetchone()
121
+
122
+ if row:
123
+ if external_var is not None:
124
+ external_var.clear()
125
+ external_var.update(row)
126
+
127
+ if external_control is not None:
128
+ external_control.append(True)
129
+
130
+ print("Data found:", row)
131
+ return row
132
+
133
+ print("No data found.")
134
+ if external_control is not None:
135
+ external_control.append(False)
136
+ return None
137
+
138
+ except mysql.connector.Error as e:
139
+ print("Get Error:", e)
140
+ if external_control is not None:
141
+ external_control.append(False)
142
+ return None
143
+
144
+ # ------------------------------------------------------
145
+ # GET ALL
146
+ # ------------------------------------------------------
147
+ def get_all(self, table, Control=None):
148
+ sql = f"SELECT * FROM {table}"
149
+
150
+ try:
151
+ self.cursor.execute(sql)
152
+ rows = self.cursor.fetchall()
153
+ if Control is not None:
154
+ Control.append(True)
155
+ return rows
156
+ except mysql.connector.Error as e:
157
+ print("Get All Error:", e)
158
+ if Control is not None:
159
+ Control.append(False)
160
+ return []
161
+
162
+ # ------------------------------------------------------
163
+ # CONTROLL
164
+ # db.Controll("Users", ID=3, name="Ali", Control=durum)
165
+ # ------------------------------------------------------
166
+ def Controll(self, table, **kwargs):
167
+ external_control = None
168
+
169
+ if "Control" in kwargs:
170
+ external_control = kwargs["Control"]
171
+ kwargs.pop("Control")
172
+
173
+ filters = {}
174
+ checks = {}
175
+
176
+ for key, value in kwargs.items():
177
+ if key.isupper():
178
+ filters[key] = value
179
+ else:
180
+ checks[key] = value
181
+
182
+ if not filters:
183
+ print("Controll Error: ID gibi bir filtre gerekli.")
184
+ if external_control is not None:
185
+ external_control.append(False)
186
+ return False
187
+
188
+ where_clause = " AND ".join([f"{k}=%s" for k in filters])
189
+ sql = f"SELECT * FROM {table} WHERE {where_clause} LIMIT 1"
190
+
191
+ try:
192
+ self.cursor.execute(sql, tuple(filters.values()))
193
+ row = self.cursor.fetchone()
194
+
195
+ if not row:
196
+ print("Controll: Veri yok.")
197
+ if external_control is not None:
198
+ external_control.append(False)
199
+ return False
200
+
201
+ for key, expected in checks.items():
202
+ if key not in row or row[key] != expected:
203
+ print("Controll: Uyuşmayan değer:", key)
204
+ if external_control is not None:
205
+ external_control.append(False)
206
+ return False
207
+
208
+ print("Controll: Doğru.")
209
+ if external_control is not None:
210
+ external_control.append(True)
211
+ return True
212
+
213
+ except mysql.connector.Error as e:
214
+ print("Controll Error:", e)
215
+ if external_control is not None:
216
+ external_control.append(False)
217
+ return False
218
+
219
+ # ------------------------------------------------------
220
+ # ID_CONTROL
221
+ # db.ID_Control("Users", name="Ali", ID=bura, Control=durum)
222
+ # ------------------------------------------------------
223
+ def ID_Control(self, table, **kwargs):
224
+ external_id_var = None
225
+ external_control = None
226
+
227
+ if "ID" in kwargs:
228
+ external_id_var = kwargs["ID"]
229
+ kwargs.pop("ID")
230
+
231
+ if "Control" in kwargs:
232
+ external_control = kwargs["Control"]
233
+ kwargs.pop("Control")
234
+
235
+ filters = kwargs
236
+
237
+ if not filters:
238
+ print("ID_Control Error: name gibi filtre gerekli.")
239
+ if external_control is not None:
240
+ external_control.append(False)
241
+ return False
242
+
243
+ where_clause = " AND ".join([f"{k}=%s" for k in filters])
244
+ sql = f"SELECT ID FROM {table} WHERE {where_clause} LIMIT 1"
245
+
246
+ try:
247
+ self.cursor.execute(sql, tuple(filters.values()))
248
+ row = self.cursor.fetchone()
249
+
250
+ if not row:
251
+ print("ID_Control: Veri yok.")
252
+ if external_control is not None:
253
+ external_control.append(False)
254
+ return False
255
+
256
+ if external_id_var is not None:
257
+ external_id_var.clear()
258
+ external_id_var["ID"] = row["ID"]
259
+
260
+ print("ID_Control: ID bulundu:", row["ID"])
261
+
262
+ if external_control is not None:
263
+ external_control.append(True)
264
+
265
+ return row["ID"]
266
+
267
+ except mysql.connector.Error as e:
268
+ print("ID_Control Error:", e)
269
+ if external_control is not None:
270
+ external_control.append(False)
271
+ return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Qwael
3
- Version: 4.0.0.0.3
3
+ Version: 4.0.0.0.4
4
4
  Summary: Qwael: İşlevsel ve kolaylaştırılmış Python kütüphanesi
5
5
  Author: Bedirhan
6
6
  Author-email: bedirhan.oytpass@gmail.com
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as f:
5
5
 
6
6
  setup(
7
7
  name="Qwael",
8
- version="4.0.0.0.3",
8
+ version="4.0.0.0.4",
9
9
  packages=find_packages(),
10
10
  install_requires=[
11
11
  "google-api-python-client",
@@ -1,157 +0,0 @@
1
- import mysql.connector
2
-
3
- class Admin:
4
- def __init__(self, IP, name, password, file_name, port=3306):
5
- self.host = IP
6
- self.user = name
7
- self.password = password
8
- self.database = file_name
9
- self.port = port
10
-
11
- try:
12
- self.conn = mysql.connector.connect(
13
- host=self.host,
14
- user=self.user,
15
- password=self.password,
16
- database=self.database,
17
- port=self.port
18
- )
19
- self.cursor = self.conn.cursor(dictionary=True)
20
- print("Database connected!")
21
- except mysql.connector.Error as e:
22
- print("Connection Error:", e)
23
-
24
- # ------------------------------------------------------
25
- # INSERT (db.add)
26
- # ------------------------------------------------------
27
- def add(self, table, **kwargs):
28
- Control = kwargs.pop("Control", None)
29
-
30
- keys = ", ".join(kwargs.keys())
31
- values = ", ".join(["%s"] * len(kwargs))
32
- sql = f"INSERT INTO {table} ({keys}) VALUES ({values})"
33
-
34
- try:
35
- self.cursor.execute(sql, tuple(kwargs.values()))
36
- self.conn.commit()
37
- print("Added!")
38
-
39
- if Control is not None:
40
- Control.append(True)
41
-
42
- except mysql.connector.Error as e:
43
- print("Insert Error:", e)
44
-
45
- if Control is not None:
46
- Control.append(False)
47
-
48
- # ------------------------------------------------------
49
- # UPDATE
50
- # ------------------------------------------------------
51
- def update(self, table, where: dict, data: dict, Control=None):
52
- set_clause = ", ".join([f"{k}=%s" for k in data])
53
- where_clause = " AND ".join([f"{k}=%s" for k in where])
54
-
55
- values = list(data.values()) + list(where.values())
56
- sql = f"UPDATE {table} SET {set_clause} WHERE {where_clause}"
57
-
58
- try:
59
- self.cursor.execute(sql, values)
60
- self.conn.commit()
61
- print("Updated!")
62
-
63
- if Control is not None:
64
- Control.append(True)
65
-
66
- except mysql.connector.Error as e:
67
- print("Update Error:", e)
68
-
69
- if Control is not None:
70
- Control.append(False)
71
-
72
- # ------------------------------------------------------
73
- # DELETE
74
- # ------------------------------------------------------
75
- def delete(self, table, Control=None, **kwargs):
76
- where_clause = " AND ".join([f"{k}=%s" for k in kwargs])
77
- sql = f"DELETE FROM {table} WHERE {where_clause}"
78
-
79
- try:
80
- self.cursor.execute(sql, tuple(kwargs.values()))
81
- self.conn.commit()
82
- print("Deleted!")
83
-
84
- if Control is not None:
85
- Control.append(True)
86
-
87
- except mysql.connector.Error as e:
88
- print("Delete Error:", e)
89
-
90
- if Control is not None:
91
- Control.append(False)
92
-
93
- # ------------------------------------------------------
94
- # GET (tek veri)
95
- # ------------------------------------------------------
96
- def get(self, table, Control=None, **kwargs):
97
- external_var = None
98
-
99
- # Variable parametresini dışarı al
100
- if "Variable" in kwargs:
101
- external_var = kwargs["Variable"]
102
- kwargs.pop("Variable")
103
-
104
- where_clause = " AND ".join([f"{k}=%s" for k in kwargs])
105
- sql = f"SELECT * FROM {table} WHERE {where_clause} LIMIT 1"
106
-
107
- try:
108
- self.cursor.execute(sql, tuple(kwargs.values()))
109
- row = self.cursor.fetchone()
110
-
111
- if row:
112
- if external_var is not None:
113
- external_var.clear()
114
- external_var.update(row)
115
-
116
- print("Data found:", row)
117
-
118
- if Control is not None:
119
- Control.append(True)
120
-
121
- return row
122
-
123
- print("No data found.")
124
-
125
- if Control is not None:
126
- Control.append(False)
127
-
128
- return None
129
-
130
- except mysql.connector.Error as e:
131
- print("Get Error:", e)
132
-
133
- if Control is not None:
134
- Control.append(False)
135
-
136
- # ------------------------------------------------------
137
- # GET ALL
138
- # ------------------------------------------------------
139
- def get_all(self, table, Control=None):
140
- sql = f"SELECT * FROM {table}"
141
-
142
- try:
143
- self.cursor.execute(sql)
144
- rows = self.cursor.fetchall()
145
-
146
- if Control is not None:
147
- Control.append(True)
148
-
149
- return rows
150
-
151
- except mysql.connector.Error as e:
152
- print("Get All Error:", e)
153
-
154
- if Control is not None:
155
- Control.append(False)
156
-
157
- return []
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes