浏览代码

Изменен парсер выборки из бд

vmshay 2 年之前
父节点
当前提交
4497900a80
共有 4 个文件被更改,包括 73 次插入25 次删除
  1. 17 15
      bot/database.py
  2. 19 0
      bot/functions.py
  3. 23 0
      draft.py
  4. 14 10
      handlers/user/events.py

+ 17 - 15
bot/database.py

@@ -63,19 +63,19 @@ class Database:
                 events_list.append(event_data)
             return events_list
 
-    def sql_parse_all_events(self, sql: str):
+    def sql_fetchall(self, sql: str):
         self.execute(sql)
         result_set = self.fetchall()
         events_list = []
-        if len(result_set) == 0:
-            return False
-        elif len(result_set) > 0:
-            for row in result_set:
-                event_data = {"Описание": row['description'],
-                              "Инициатор": row['name'],
-                              "Дата": row['dat']}
-                events_list.append(event_data)
-            return events_list
+        # if len(result_set) == 0:
+        #     return False
+        # if len(result_set) > 0:
+        #     for row in result_set:
+        #         event_data = {"Описание": row['description'],
+        #                       "Инициатор": row['name'],
+        #                       "Дата": row['dat']}
+        #         events_list.append(event_data)
+        return result_set
 
     def sql_query_send(self, sql: str):
         self.execute(sql)
@@ -83,9 +83,11 @@ class Database:
         self.close()
 
 
-db = Database()
-print(db.sql_simple_check(sql=f'select admin from user_table where tg_id = 338836490'))
-# data = Db.sql_simple_check("select tg_id from user_table where tg_id = 338836490 and approved = 0")
-# data = Db.sql_simple_check(simple_select(columns="tg_id", table="user_table", tg_id='338836490', approved='0'))
-# print(data)
+# databas = Database()
+# # # print(db.sql_simple_check(sql=f'select admin from user_table where tg_id = 338836490'))
+# # # data = Db.sql_simple_check("select tg_id from user_table where tg_id = 338836490 and approved = 0")
+# dat = databas.sql_fetchall(sql=f"select events_table.description, user_table.name, events_table.dat "
+#                                             f"from events_table inner join user_table "
+#                                             f"on events_table.owner = user_table.tg_id ")
+# print(dat)
 

+ 19 - 0
bot/functions.py

@@ -94,3 +94,22 @@ def date_range(range):
             else:
                 raise
         return f"{first} and {last}"
+
+
+def get_all_events(data):
+    pass
+
+
+
+    #
+    # def sql_parse_user_events(self, sql: str):
+    #     self.execute(sql)
+    #     result_set = self.fetchall()
+    #     events_list = []
+    #     if len(result_set) == 0:
+    #         return False
+    #     elif len(result_set) > 0:
+    #         for row in result_set:
+    #             event_data = f"Описание {row['description']}\n Дата {row['dat']}"
+    #             events_list.append(event_data)
+    #         return events_list

+ 23 - 0
draft.py

@@ -30,3 +30,26 @@
 #        await message.answer("Список всех событий")
 #        for event in events:
 #           await message.answer(beauty_all_events(event))
+
+#
+# def sql_fetchone(self, sql: str):
+#     self.execute(sql)
+#     response = self.fetchone()
+#     if response is None:
+#         return False
+#     else:
+#         for v in response.values():
+#             return v
+#
+#
+# def sql_parse_users(self, sql: str):
+#     self.execute(sql)
+#     result_set = self.fetchall()
+#     users_list = []
+#     if len(result_set) == 0:
+#         return False
+#     elif len(result_set) > 0:
+#         for row in result_set:
+#             users_data = {"ID": row['id'], "ФИО": row['name'], "Номер телефона": row['phone']}
+#             users_list.append(users_data)
+#         return users_list

+ 14 - 10
handlers/user/events.py

@@ -50,23 +50,27 @@ async def all_events(message: types.Message):
         await message.delete()
         await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
     else:
-        await message.answer("Укажите диапазон дат или выберите кнопкой", reply_markup=events_range_kb())
+        await message.answer("Выберете интересующий диапазон", reply_markup=events_range_kb())
 
 
 async def select_range(call: types.CallbackQuery):
     db = database.Database()
     if call.data == "today":
-        await call.message.answer(date_range(call.data))
-        tim = str(date_range("today"))
-        tim = "'"+tim+"'"
-        data1 = db.sql_parse_all_events(sql=f"select events_table.description, user_table.name, events_table.dat "
+        time = "'"+str(date_range("today"))+"'"
+        data = db.sql_fetchall(sql=f"select events_table.description, user_table.name, events_table.dat "
                                            f"from events_table inner join user_table "
                                            f"on events_table.owner = user_table.tg_id "
-                                           f"where events_table.dat={tim}")
-        msg = ""
-        for elem in data1:
-            msg += "".join(beauty_all_events(elem))
-        await call.message.answer(msg)
+                                           f"where events_table.dat={time}")
+        print(data)
+
+        if data == 0:
+            await call.message.answer("Сегодня меротприятий нет")
+        else:
+            pass
+            # msg = ""
+            # for elem in data:
+            #     msg += "".join(beauty_all_events(elem))
+            # await call.message.answer(msg)
     if call.data == "week":
         await call.message.answer(date_range(call.data))
     if call.data == "month":