Browse Source

Рефакторинг кода

Vildan 2 years ago
parent
commit
0ad1fbf865
6 changed files with 66 additions and 46 deletions
  1. 13 0
      draft.py
  2. 9 7
      handlers/admin/admin_menu.py
  3. 21 16
      handlers/admin/manage_users.py
  4. 4 7
      handlers/comands.py
  5. 6 5
      handlers/events.py
  6. 13 11
      handlers/registration.py

+ 13 - 0
draft.py

@@ -45,3 +45,16 @@
 # async def select_date(call: types.CallbackQuery):
 #     await bot.answer_callback_query(call.id)
 #     await bot.send_message(call.message.chat.id, "Вы выбрали " + call.data)
+
+
+
+
+
+
+# sql_query_users(f"select name,phone from user_table where approved = '0'")
+# print(sql_simple_check(f"select approved from user_table where tg_id='338836490'"))
+# print(sql_parse_users(f"select id, name,phone from user_table where approved = '0'"))
+# print(sql_simple_check(f"select admin from user_table where tg_id = '338836490'", "admin"))
+# print(not not sql_query_single_get(f"select tg_id from user_table where tg_id = '11'"))
+# sql_query(f"INSERT INTO user_table (tg_id,name,phone) VALUES ('123123','ФФ ыв ывыв','89539299323')")
+# select name,phone from user_table where approved = '0'

+ 9 - 7
handlers/admin/admin_menu.py

@@ -1,14 +1,15 @@
 from aiogram import types, Dispatcher
-from database import sql_simple_check, sql_check_user
 from keyboards import register_kb, main_kb, admin_keyboard
+import database
 
 
 async def enter_admin_menu(message: types.message):
-    if not sql_check_user(f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
-            not sql_simple_check(f"select approved from user_table where tg_id={message.from_user.id}", "approved"):
+    Db = database.Database()
+    if not Db.sql_simple_check(sql=f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
+            not Db.sql_simple_check(sql=f"select approved from user_table where tg_id={message.from_user.id}"):
         await message.delete()
         await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
-    elif not sql_simple_check(f'select admin from user_table where tg_id = {message.from_user.id}', "admin"):
+    elif not Db.sql_simple_check(sql=f'select admin from user_table where tg_id = {message.from_user.id}'):
         await message.answer("Доступ только для администраторов")
     else:
         await message.delete()
@@ -17,11 +18,12 @@ async def enter_admin_menu(message: types.message):
 
 
 async def exit_admin_menu(message: types.message):
-    if not sql_check_user(f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
-            not sql_simple_check(f"select approved from user_table where tg_id={message.from_user.id}", "approved"):
+    Db = database.Database()
+    if not Db.sql_simple_check(sql=f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
+            not Db.sql_simple_check(sql=f"select approved from user_table where tg_id={message.from_user.id}"):
         await message.delete()
         await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
-    elif not sql_simple_check(f'select admin from user_table where tg_id = {message.from_user.id}', "admin"):
+    elif not Db.sql_simple_check(sql=f'select admin from user_table where tg_id = {message.from_user.id}'):
         await message.answer("Доступ только для администраторов", reply_markup=main_kb)
     else:
         await message.answer("Выход", reply_markup=main_kb)

+ 21 - 16
handlers/admin/manage_users.py

@@ -1,14 +1,15 @@
-from database import sql_check_user,sql_parse_users,sql_query_send
+import database
 from aiogram import types, Dispatcher
 from functions import beauty_reg_request
 from keyboards import user_manage_kb
 
 
 async def list_users(message: types.Message):
-    if not sql_check_user(f"select name,phone from user_table where approved = '0'"):
+    Db = database.Database()
+    if not Db.sql_parse_users("select id,name,phone from user_table where approved = '0'"):
         await message.answer('Заявки на регистрацию отсутствуют')
     else:
-        data = sql_parse_users(f"select id,name,phone from user_table where approved = '0'")
+        data = Db.sql_parse_users("select id,name,phone from user_table where approved = '0'")
         await message.answer(beauty_reg_request(data[0]),
                              reply_markup=user_manage_kb(f"accept:{data[0]['ID']}",
                                                          f"deny:{data[0]['ID']}",
@@ -18,15 +19,16 @@ async def list_users(message: types.Message):
 
 
 async def next_user_page(call: types.CallbackQuery):
-    data = sql_parse_users(f"select id,name,phone from user_table where approved = '0'")
+    Db = database.Database()
+    data = Db.sql_parse_users("select id,name,phone from user_table where approved = '0'")
     index = int(call.data.split(":")[1]) + 1
 
+    if not data:
+        await call.message.answer('Заявки на регистрацию отсутствуют')
     if index == len(data):
         pass
-    elif not data:
-        await call.message.answer('Заявки на регистрацию отсутствуют')
     else:
-        print(f"next: {index}")
+        # print(f"next: {index}")
         user_id = data[index]['ID']
         await call.message.edit_text(beauty_reg_request(data[index]),
                                      reply_markup=user_manage_kb(f"accept:{user_id}",
@@ -37,9 +39,10 @@ async def next_user_page(call: types.CallbackQuery):
 
 
 async def prev_user_page(call: types.CallbackQuery):
-    data = sql_parse_users(f"select id,name,phone from user_table where approved = '0'")
+    Db = database.Database()
+    data = Db.sql_parse_users("select id,name,phone from user_table where approved = '0'")
     index = int(call.data.split(":")[1])-1
-    print(f"prev_index{index}")
+    # print(f"prev_index{index}")
     if not data:
         await call.message.answer('Заявки на регистрацию отсутствуют')
     elif index < 0:
@@ -55,19 +58,21 @@ async def prev_user_page(call: types.CallbackQuery):
 
 
 async def accept_user(call: types.CallbackQuery):
-    data = sql_parse_users(f"select id,name,phone from user_table where approved = '0'")
+    Db = database.Database()
+    data = Db.sql_parse_users("select id,name,phone from user_table where approved = '0'")
+    # data = Db.sql_parse_users("select id,name,phone from user_table where approved = '0'")
     index = int(call.message.reply_markup.inline_keyboard[1][1].text.split("/")[0])-1
-    print(index)
-    #
+    # print(index)
+
 
     if len(data) == 1:
         user_id = data[index]['ID']
-        sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
+        Db.sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
         await call.message.delete()
         await call.message.answer('Заявки на регистрацию отсутствуют')
     elif index == 0:
         user_id = data[index]['ID']
-        sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
+        Db.sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
         await call.message.edit_text(beauty_reg_request(data[index+1]),
                                      reply_markup=user_manage_kb(f"accept:{user_id}",
                                                                  f"deny:{user_id}",
@@ -76,7 +81,7 @@ async def accept_user(call: types.CallbackQuery):
                                                                  f"{index+1}/{len(data) - 1}"))
     elif index == len(data)-1:
         user_id = data[index]['ID']
-        sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
+        Db.sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
         await call.message.edit_text(beauty_reg_request(data[index-1]),
                                      reply_markup=user_manage_kb(f"accept:{user_id}",
                                                                  f"deny:{user_id}",
@@ -85,7 +90,7 @@ async def accept_user(call: types.CallbackQuery):
                                                                  f"{index}/{len(data) - 1}"))
     else:
         user_id = data[index]['ID']
-        sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
+        Db.sql_query_send(f"UPDATE booking.user_table SET approved='1' WHERE id={user_id}")
         await call.message.edit_text(beauty_reg_request(data[index-1]),
                                      reply_markup=user_manage_kb(f"accept:{user_id}",
                                                                  f"deny:{user_id}",

+ 4 - 7
handlers/comands.py

@@ -1,16 +1,17 @@
 from aiogram import types, Dispatcher
 from keyboards import main_kb, register_kb,   check_register_kb
-from database import sql_check_user, sql_simple_check
+import database
 
 
 # @dp.message_handler(commands=['start'])
 async def start_cmd(message: types.Message):
+    Db = database.Database()
     await message.delete()
-    if not sql_check_user(f"select tg_id from user_table where tg_id ={message.from_user.id}"):
+    if not Db.sql_simple_check(f"select tg_id from user_table where tg_id ={message.from_user.id}"):
         await message.answer(f"🤖Вас приветствует лакей ТТИТ🤖\n\n"
                              "Для доступа к функциям нужно пройти простую регистрацию\n",
                              reply_markup=register_kb)
-    elif not sql_simple_check(f'select approved from user_table where tg_id={message.from_user.id}', "approved"):
+    elif not Db.sql_simple_check(f"select approved from user_table where tg_id={message.from_user.id}"):
         await message.answer(f"Ваша заявка находится на рассмотрернии", reply_markup=check_register_kb)
     else:
         await message.answer(f"🤖Вас приветствует лакей ТТИТ🤖\n"
@@ -26,9 +27,5 @@ async def start_cmd(message: types.Message):
                              reply_markup=main_kb)
 
 
-# @dp.message_handler()
-
-
 def main_register(dp: Dispatcher):
     dp.register_message_handler(start_cmd, commands=['start', 'help'])
-    # dp.register_callback_query_handler(select_date)

+ 6 - 5
handlers/events.py

@@ -1,12 +1,13 @@
 from aiogram import types, Dispatcher
-from database import sql_check_user, sql_simple_check
+import database
 from keyboards import register_kb, make_calendar
 from functions import make_date
 
 
 async def make_event(message: types.message):
-    if not sql_check_user(f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
-            not sql_simple_check(f"select approved from user_table where tg_id={message.from_user.id}", "approved"):
+    Db = database.Database()
+    if not Db.sql_simple_check(f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
+            not Db.sql_simple_check(f"select approved from user_table where tg_id={message.from_user.id}"):
         await message.delete()
         await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
     else:
@@ -17,8 +18,8 @@ async def make_event(message: types.message):
                                  f"Так же календарь мероприятий можно посмотреть в "
                                  f"<a href=moodle.tomtit.tomsk.ru>Moodle</a>\n\n"
                                  f"Сегодняшняя дата <b>{make_date()}</b>", reply_markup=make_calendar())
-            msg = await message.answer("asd")
-            print(msg)
+            # msg = await message.answer("asd")
+            # print(msg)
 
 
 async def select_date(call: types.CallbackQuery):

+ 13 - 11
handlers/registration.py

@@ -1,17 +1,17 @@
 from aiogram import types, Dispatcher
-# from dispatcher import bot
 from states import RegisterStates
 from functions import validate_fio, validate_phone, reject_latin, reject_cmd
 from aiogram.dispatcher.storage import FSMContext
 from keyboards import reset_register_kb, register_kb, main_kb, check_register_kb
-from database import sql_check_user, sql_query_send
+import database
 
 
 async def registration(message: types.Message):
+    Db = database.Database()
     await message.delete()
-    if sql_check_user(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 0'):
+    if Db.sql_simple_check(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 0'):
         await message.answer("Ваша заявка рассматривается", reply_markup=check_register_kb)
-    elif sql_check_user(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 1'):
+    elif Db.sql_simple_check(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 1'):
         msg = await message.answer("Вы зарегистрированны", reply_markup=main_kb)
         await msg.delete()
     else:
@@ -42,6 +42,7 @@ async def get_number(message: types.Message, state: FSMContext):
 
 
 async def get_fio(message: types.Message, state: FSMContext):
+    Db = database.Database()
     if reject_cmd(message.text):
         await message.delete()
         await message.answer("Нельзя использовать команды", reply_markup=reset_register_kb)
@@ -57,11 +58,11 @@ async def get_fio(message: types.Message, state: FSMContext):
         await message.answer(f"Спасибо за регистрацию\n"
                              f"Вы сможете воспользоваться функциями после одобрения\n", reply_markup=check_register_kb)
 
-        sql_query_send(f"INSERT INTO user_table"
-                       f"(tg_id,name,phone) VALUES "
-                       f"({reg_data['id']},"
-                       f"'{reg_data['FIO']}'"
-                       f",{reg_data['number']})")
+        Db.sql_query_send(f"INSERT INTO user_table"
+                          f"(tg_id,name,phone) VALUES "
+                          f"({reg_data['id']},"
+                          f"'{reg_data['FIO']}'"
+                          f",{reg_data['number']})")
         await state.finish()
 
 
@@ -71,10 +72,11 @@ async def reset_register(message: types.Message, state: FSMContext):
 
 
 async def check_reg_status(message: types.Message):
+    Db = database.Database()
     await message.delete()
-    if sql_check_user(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 0'):
+    if Db.sql_simple_check(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 0'):
         await message.answer("Ваша заявка рассматривается", reply_markup=check_register_kb)
-    elif sql_check_user(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 1'):
+    elif Db.sql_simple_check(f'select tg_id from user_table where tg_id = {message.from_user.id} and approved = 1'):
         await message.answer("Вы зарегистрированны", reply_markup=main_kb)