def rooms(): if request.method == 'POST': room_data = Room(**get_request_data(request)) if not room_data.validate(): return json_response({"message": "Room form is invalid"}, 400) return room_data.create(db.rooms) else: return list_all(db.rooms, arguments=request.args)
def list_meetings(collection, filters, args): if 'show_old' not in args: filters['start_time'] = { "$gt": rfc3339.rfc3339(datetime.datetime.now()) } else: args.pop('show_old') filters['_temp'] = {"$exists": False} return list_all(collection, filters, args)
def get(self): args = self.args() if 'email' in args and args["email"] == "*": users = [ u.todict() for u in db.list_all(db.User) ] elif 'email' in args: users = self._db.get_user(args["email"]) if not users: return self._return({ "status": "error", "desc": "not found" }, 404) users = [ users.todict() ] elif 'user_id' in args and args["user_id"] == "*": users = [ u.todict() for u in db.list_all(db.User) ] elif 'user_id' in args: users = self._db.get_user_id(args["user_id"]) if not users: return self._return({ "status": "error", "desc": "not found" }, 404) users = [ users.todict() ] else: users = [ u.todict() for u in db.list_all(db.User) ] return self._return({ "status":"ok", "users":users })
def check_id(self, bot, update): answer = update.message.text if answer.isdigit(): # если ввели код user_id = int(answer) print(user_id) user = db.list_them([user_id])[0] # получаем словарь пользователя print(user) if user: # если вернулся не None self.users[user_id] = [update.message.chat_id, user['name']] self.chats[update.message.chat_id] = [user_id, user['name']] if db.get_status(user_id) == 'teacher': self.teachers[update.message.chat_id] = user_id print('users\t', self.users) print('chats\t', self.chats) print('teachers\t', self.teachers) if update.message.chat_id in self.teachers: menu = self.teacher_menu else: menu = self.student_menu bot.sendMessage( chat_id=update.message.chat_id, text='Здравствуйте, {} ({})! Что бы Вы хотели сделать?'. format(self.chats[update.message.chat_id][1], self.chats[update.message.chat_id][0]), reply_markup=menu) return ConversationHandler.END else: # id не нашлось в базе bot.sendMessage( chat_id=update.message.chat_id, text= 'К сожалению, такого id в нашей базе нет. Попробуйте снова или отправьте любое текстовое сообщение, чтобы зарегистрироваться.' ) return 'id' else: # совсем новенький user_ids = [user['user_id'] for user in db.list_all()] # кто есть в базе print('users in base\t', user_ids) user_id = random.randint(1000, 9999) # четырёхзначное число while user_id in user_ids: user_id = random.randint(1000, 9999) self.chats[update.message.chat_id] = [user_id] self.users[user_id] = [update.message.chat_id] update.message.reply_text('{}'.format(user_id)) bot.sendMessage( chat_id=update.message.chat_id, text= 'Тогда представьтесь, пожалуйста.\n*Если Вы студент:* введите фамилию, имя и группу через запятую в формате "Фамилия, Имя, группа".\n_Пример: Иванов, Иван, 15ФПЛ_\n*Если Вы преподаватель:* введите фамилию, имя и ключ доступа через запятую в формате "Фамилия, Имя Отчество, ключ доступа".\n_Пример: Иванов, Иван Иванович, key_\n\n*Внимательно проверяйте все данные! В текущей версии пока нет возможности их исправить.*', parse_mode='Markdown') return 'name'
def get(self): args = self.args() if not self.checkParameter(["user_id", "sighting_id"], args): return self._return({ "status": "error", "desc": "invalid parameters." }, 400) if args["sighting_id"] == "*" and args["user_id"] == "*": # list sightings sightings = [ s.todict() for s in db.list_all(db.Sighting) ] elif args["sighting_id"] == "*": sightings = [ s.todict() for s in self._db.get_sighting_user(args["user_id"]) ] else: sightings = self._db.get_sighting_id(args["sighting_id"]) if not sightings: return self._return({ "status": "error", "desc": "not found" }, 404) sightings = sightings.todict() return self._return({ "status":"ok", "sightings":sightings })
def start(self, bot, update): if update.message.chat_id in self.chats: # чат не новый print('users\t', self.users) print('chats\t', self.chats) print('users in base\t', [user for user in db.list_all()]) if update.message.chat_id in self.teachers: menu = self.teacher_menu else: menu = self.student_menu bot.sendMessage( chat_id=update.message.chat_id, text='Здравствуйте, {} ({})! Что бы Вы хотели сделать?'.format( self.chats[update.message.chat_id][1], self.chats[update.message.chat_id][0]), reply_markup=menu) return ConversationHandler.END else: update.message.reply_text( 'Здравствуйте! Похоже, Вы у нас впервые. Я присвою Вам id — пожалуйста, запомните его, чтобы мой брат в ВК мог узнать Вас. Или он Вам уже присвоен? Введите свой id или отправьте любое сообщение, чтобы получить его.' ) return 'id'
def room_meetings(room_id): if find_one(db.rooms, room_id) is None: return json_response({"message": "Room does not exist"}, 404) return list_all(db.meetings, {"room_id": room_id}, request.args)