Esempio n. 1
0
 def start(self, event):
     try:
         return Vkfunc.write_msg(
             event.user_id,
             f'Хай, {db_func.user_info(event.user_id)["first_name"]}!',
             kb.start_keyboard(dict()))
     except NoResultFound:
         db_func.add_to_users(Vkfunc.get_user(event.user_id))
         return self.start(event)
Esempio n. 2
0
 def show(self, event):
     try:
         self.whitelist = iter(db_func.show_whitelist(event.user_id))
         self.pair_id, name, photos, url = next(self.whitelist)
         return Vkfunc.write_msg(event.user_id,
                                 f'{name}, {url}',
                                 attachment=photos,
                                 keyboard=kb.whitelist_keyboard(url))
     except StopIteration:
         return Vkfunc.write_msg(event.user_id,
                                 f'Список понравившихся пуст 😔',
                                 kb.back_button())
Esempio n. 3
0
 def next(self, event):
     try:
         self.pair_id, name, photos, url = next(self.whitelist)
         return Vkfunc.write_msg(event.user_id,
                                 f'{name}, {url}',
                                 attachment=photos,
                                 keyboard=kb.whitelist_keyboard(url))
     except StopIteration:
         return self.show(event)
Esempio n. 4
0
 def search(self, event, offset=None):
     self.search_list = iter(
         Vkfunc.search_users(self.search_params, offset=offset))
     self.marked_list = db_func.marked_ids(event.user_id)
     try:
         self.pair_id, url = next(self.search_list)
         while self.pair_id in self.marked_list:
             self.pair_id, url = next(self.search_list)
         photos = ','.join([
             f'photo{self.pair_id}_{photo}'
             for photo in Vkfunc.get_photos(self.pair_id)
         ])
         return self.search_message(event, url, photos)
     except StopIteration:
         return Vkfunc.write_msg(
             event.user_id,
             f'По такому запросу никого не найдено 😔',
             kb.back_button())
Esempio n. 5
0
 def not_like(self, event):
     if self.pair_id:
         try:
             try:
                 db_func.add_to_blacklist(event.user_id, self.pair_id)
             except IntegrityError:
                 db_func.add_to_users(Vkfunc.get_user(event.user_id))
                 db_func.add_to_blacklist(event.user_id, self.pair_id)
             self.pair_id, url = next(self.search_list)
             while self.pair_id in self.marked_list:
                 self.pair_id, url = next(self.search_list)
             photos = ','.join([
                 f'photo{self.pair_id}_{photo}'
                 for photo in Vkfunc.get_photos(self.pair_id)
             ])
             return self.search_message(event, url, photos)
         except StopIteration:
             self.search(event, offset=len(list(self.search_list)))
     else:
         return self.clarify_message(event)
Esempio n. 6
0
 def test_get_user(self):
     assert Vkfunc.get_user(1) == data.pavel_durov_user_data
Esempio n. 7
0
 def test_get_user_name(self):
     assert Vkfunc.get_user_name(1) == ['Павел', 'Дуров']
Esempio n. 8
0
 def test_get_url(self):
     assert Vkfunc.get_url(1) == 'https://vk.com/durov'
Esempio n. 9
0
 def test_search_users(self):
     assert Vkfunc.search_users(
         {}, count=1, q='Павел Дуров') == [[1, 'https://vk.com/durov']]
Esempio n. 10
0
 def what_sex(self, event):
     return Vkfunc.write_msg(event.user_id, f'Выберите пол',
                             kb.sex_keyboard())
Esempio n. 11
0
 def what_age(self, event):
     return Vkfunc.write_msg(event.user_id,
                             f'Введите возраст в формате "от _ до _"')
Esempio n. 12
0
 def incorrect_input(self, event):
     return Vkfunc.write_msg(event.user_id,
                             f'Не поняла вашего ответа... 🤔',
                             kb.start_keyboard(self.search_params))
Esempio n. 13
0
 def test_get_city_name(self):
     assert Vkfunc.get_city_name(141) == 'Тверь'
Esempio n. 14
0
 def what_city(self, event):
     return Vkfunc.write_msg(event.user_id, f'Введите название города')
Esempio n. 15
0
 def stop(self, event, cls):
     cls.search_params.clear()
     return Vkfunc.write_msg(event.user_id, 'Пока((')
Esempio n. 16
0
 def search_message(self, event, url, photos):
     return Vkfunc.write_msg(
         event.user_id,
         f'{" ".join(Vkfunc.get_user_name(self.pair_id))}\n{url}',
         kb.main_keyboard(),
         attachment=photos)
Esempio n. 17
0
 def test_get_photos(self):
     assert Vkfunc.get_photos(1, count=1) == [215187843]
Esempio n. 18
0
 def what_status(self, event):
     return Vkfunc.write_msg(event.user_id, f'Выберите статус',
                             kb.status_keyboard())
Esempio n. 19
0
 def test_get_city(self):
     assert Vkfunc.get_city('Тверь') == 141
Esempio n. 20
0
 def city(self, event, request):
     self.search_params['city'] = Vkfunc.get_city(request)
     return self.clarify_message(event)
Esempio n. 21
0
 def test_write_msg(self):
     assert Vkfunc.write_msg(data.user['vk_id'], 'test') is True
Esempio n. 22
0
 def clarify_message(self, event):
     return Vkfunc.write_msg(
         event.user_id,
         f'Уточните параметры поиска или нажмите начать поиск:\n{message_text(self.search_params)}',
         kb.start_keyboard(self.search_params))