def add_day_ask_month(bot, update): messages = DBMessages.query.filter( DBMessages.user == update.message.from_user.id).first() messages.day = update.message.text.strip() if not messages.day.isdigit(): reply_keyboard = [['1', '2', '3', '4', '5', '6', '7'], ['8', '9', '10', '11', '12', '13'], ['14', '15', '16', '17', '18', '19'], ['20', '21', '22', '23', '24', '25'], ['26', '27', '28', '29', '30', '31']] bot.sendMessage(update.message.chat_id, "date must be digit", reply_markup=ReplyKeyboardMarkup( reply_keyboard, one_time_keyboard=True)) return "Add_AddDayAskMonth" if int(messages.day) > 31 or int(messages.day) < 1: reply_keyboard = [['1', '2', '3', '4', '5', '6', '7'], ['8', '9', '10', '11', '12', '13'], ['14', '15', '16', '17', '18', '19'], ['20', '21', '22', '23', '24', '25'], ['26', '27', '28', '29', '30', '31']] bot.sendMessage(update.message.chat_id, "impossible date", reply_markup=ReplyKeyboardMarkup( reply_keyboard, one_time_keyboard=True)) return "Add_AddDayAskMonth" db_session.commit() reply_keyboard = [['January', 'February', 'March'], ['April', 'May', 'June'], ['July', 'August', 'September'], ['October', 'November', 'December']] update.message.reply_text("Enter the month: \n", reply_markup=ReplyKeyboardMarkup( reply_keyboard, one_time_keyboard=True)) return 'Add_AddMonthAddBirthday'
def remove(bot, update, args): name_to_remove = "" if len(args) == 0: key_board = [["/add"], ["/month", "/help"]] update.message.reply_text( text="Try: /remove <name> \nexample: /remove Alexander Pushkin", reply_markup=ReplyKeyboardMarkup(key_board, one_time_keyboard=False)) return "Menu" for i in args: name_to_remove = i + " " name_to_remove = name_to_remove.strip() candidates = DBBirthdays.query.filter( DBBirthdays.name == name_to_remove).all() if len(candidates) == 0: key_board = [["/add"], ["/month", "/help"]] update.message.reply_text(text="No such record", reply_markup=ReplyKeyboardMarkup( key_board, one_time_keyboard=False)) else: key_board = [["/add"], ["/month", "/help"]] update.message.reply_text(text="Successfully removed", reply_markup=ReplyKeyboardMarkup( key_board, one_time_keyboard=False)) db_session.delete(candidates[0]) db_session.commit()
def start(bot, update, chat_data, job_queue): if 'is_notifications' not in chat_data: chat_data['is_notifications'] = True job = job_queue.run_daily(birthdays.alarm, time(9, 0), days=(0, 1, 2, 3, 4, 5, 6), context=[update, chat_data], name='default') chat_data['job'] = job if 'time_zone' not in chat_data: chat_data['time_zone'] = time(0, 0) if 'sign' not in chat_data: chat_data['sign'] = True if 'user_time' not in chat_data: chat_data['user_time'] = time(9, 0) messages = DBMessages.query.filter( DBMessages.user == update.message.chat_id).all() if len(messages) == 0: user = DBMessages(update.message.from_user.id) print(update.message.from_user.username, update.message.from_user.id) db_session.add(user) db_session.commit() key_board = [["/add"], ["/month", "/help"]] bot.sendMessage( update.message.chat_id, text="Hi! I'm <b>BirthdayBot!</b>\n" "Press /help for more information\n\n" "If you're new here I highly recommend to start with settings " "by using /set command\n\n", parse_mode='HTML', reply_markup=ReplyKeyboardMarkup(key_board, one_time_keyboard=False)) return 'Menu'
def load_pickled_data(): with open('cocktails.pkl', 'rb') as f: pickled_cocktails = pickle.load(f) for c in pickled_cocktails: # instantiate and add cocktail cocktail = Cocktail(name=c.name, glass=c.glass, recipe=c.recipe, image=c.image) db_session.add(cocktail) # add each ingredient that is not already in db for i in c.ingredients: ingredient = Ingredient.query.filter(Ingredient.name==i[0]).one_or_none() if ingredient is None: image_name = i[0].replace(' ', '+').replace('/', '\\') image_path = '{0}/{1}'.format('ingredients', image_name) ingredient = Ingredient(i[0], image_path) db_session.add(ingredient) # add the amount for each ingredient amount = Amount(cocktail, ingredient, i[1]) db_session.add(amount) # commit unpickled cocktail goodness db_session.commit()
def mutate(root, info, catalog_data=None): try: catalog = CatalogModel(**catalog_data) db_session.add(catalog) db_session.commit() except BaseException as err: db_session.rollback() raise GraphQLError("Error inserting Catalog... {}".format(err))
def mutate(root, info, area_data=None): try: area = AreaModel(**area_data) db_session.add(area) db_session.commit() except BaseException as err: db_session.rollback() raise GraphQLError("Error inserting Area... {}".format(err))
def mutate(root, info, item_data=None): try: item = ItemModel(**item_data) db_session.add(item) db_session.commit() except BaseException as err: db_session.rollback() raise GraphQLError("Error inserting Item... {}".format(err))
def mutate(root, info, task_id): task = TaskModel.query.filter_by(task_id=task_id).first() print(task.task_id) if task != None: db_session.delete(task) db_session.commit() return DeleteTask(task=task, status=True) else: return DeleteTask(task=None, status=False)
def mutate(root, info, task_data=None): try: task = TaskModel(**task_data) db_session.add(task) db_session.commit() return CreateTask(task=task, status=True) except BaseException as err: db_session.rollback() raise GraphQLError("Error inserting Task... {}".format(err))
def mutate(self, info, name, author, price, title=None): create_time = update_time = time.time() id = new_id() book = models.ExchangeAccount(id=id, name=name, title=title, price=price, author=author, del_flag=1, create_time=create_time, update_time=update_time) db_session.add(book) db_session.commit() return addBook(book=book)
def mutate(root, info, task_data=None): try: query = Task.get_query(info) task = TaskModel(task_id=task_data.task_id) query.filter(TaskModel.task_id == task.task_id).update(task_data) db_session.commit() return EditTask(task=task, status=True) except BaseException as err: db_session.rollback() raise GraphQLError("Error edit Task... {}".format(err))
def provide_link_ask_day(bot, update): messages = DBMessages.query.filter( DBMessages.user == update.message.from_user.id).first() text = update.message.text.strip() messages.link = text db_session.commit() reply_keyboard = [['1', '2', '3', '4', '5', '6', '7'], ['8', '9', '10', '11', '12', '13'], ['14', '15', '16', '17', '18', '19'], ['20', '21', '22', '23', '24', '25'], ['26', '27', '28', '29', '30', '31']] update.message.reply_text("Enter the day: \n", reply_markup=ReplyKeyboardMarkup( reply_keyboard, one_time_keyboard=True)) return 'Add_AddDayAskMonth'
def games(): """API inpoint for Games collection. GET requests return the user's game collection. POST creates a new game.""" if request.method == 'POST': game = Game() player1 = int(request.form.get('player1')) player2 = int(request.form.get('player2')) player3 = int(request.form.get('player3')) player4 = int(request.form.get('player4')) User.get(player1).join_game(game, 0) User.get(player2).join_game(game, 1) User.get(player3).join_game(game, 2) User.get(player4).join_game(game, 3) db_session.flush() game.deal() db_session.commit() session['current_game'] = game.id return jsonify(current_user.current_games())
def login(): """Logs the user in or creates a new user in the database.""" form = LoginForm(request.form) validates = request.method == 'POST' and form.validate() if validates: username = request.form.get('username') password = request.form.get('password') if not User.username_taken(username): user = User(username=username, password=hashulate(password)) db_session.add(user) db_session.commit() login_user(user) return redirect(request.args.get("next") or url_for("home")) elif User.check_password(User.id_from_name(username), request.form.get('password')): login_user(User(id=User.id_from_name(username))) return redirect(request.args.get("next") or url_for("home")) return render_template('login.html', form=form)
def add_name_is_link(bot, update): messages = DBMessages.query.filter( DBMessages.user == update.message.from_user.id).first() name = update.message.text.strip() is_wrong = DBBirthdays.query.filter(DBBirthdays.name == name).filter( DBBirthdays.user == update.message.from_user.id).all() if len(is_wrong) > 0: bot.sendMessage(update.message.chat_id, "Such record already exists.\n Enter a name:\n", reply_markup=ReplyKeyboardRemove()) return "Add_AddNameIsLink" messages.name = name db_session.commit() reply_keyboard = [["Yes", "No"]] update.message.reply_text("Do you want to provide a link? \n", reply_markup=ReplyKeyboardMarkup( reply_keyboard, one_time_keyboard=True)) return 'Add_IsLinkProvideOrAskDay'
def game(game_id): """API inpoint for Game objects. GET returns the JSON representation of the object for the client. POST lets the user play a card.""" session['current_game'] = game_id if request.method == 'GET': time = float(request.args.get('timestamp')) return jsonify(game_view.view()) if not game_view.is_fresh(time) else 'null' elif request.method == 'POST': bid = request.form.get('bid') card = request.form.get('card') trump = request.form.get('trump') if bid: game_view.bid(int(bid)) elif card: game_view.play_card(card) elif trump: game_view.set_trump(trump) db_session.commit() return jsonify(game_view.view())
def process(): recs = db_session.query(Eq).filter_by().all() for record in recs: wpname = record.WeaponName wptype = record.WeaponType arname = record.ArmorName artype = record.ArmorType charid = record.CHARACTERS_CharacterID print wpname,wptype,arname,artype,charid if wpname != None: rec = db_session.query(Equipment).filter_by(Name = wpname, Type = wptype, EquipmentType = 'Weapon').first() else: rec = db_session.query(Equipment).filter_by(Name = arname, Type = artype, EquipmentType = 'Armor').first() obj = CharHasEquip(record.CHARACTERS_CharacterID,rec.RowID) db_session.add(obj) db_session.commit()
def add_month_add_birthday(bot, update): messages = DBMessages.query.filter( DBMessages.user == update.message.from_user.id).first() day = messages.day month = update.message.text.strip() name = messages.name link = messages.link if month not in birthday_class.MonthToNumber: reply_keyboard = [['January', 'February', 'March'], ['April', 'May', 'June'], ['July', 'August', 'September'], ['October', 'November', 'December']] update.message.reply_text("Wrong month \n", reply_markup=ReplyKeyboardMarkup( reply_keyboard, one_time_keyboard=True)) return "Add_AddMonthAddBirthday" if month == "February" and (str(day) == '31' or str(day) == '30'): key_board = [["/add"], ["/month", "/year"]] update.message.reply_text(text="No such day in February:(", reply_markup=ReplyKeyboardMarkup( key_board, one_time_keyboard=False)) return "Menu" if month in {'April', 'June', 'September', 'November' } and str(day) == '31': key_board = [["/add"], ["/month", "/year"]] update.message.reply_text(text="This month contains only 30 days;)", reply_markup=ReplyKeyboardMarkup( key_board, one_time_keyboard=False)) return "Menu" n_date = date(2016, birthday_class.MonthToNumber[month], int(day)) new_birthday = DBBirthdays(update.message.chat_id, n_date, name, link) db_session.add(new_birthday) db_session.commit() key_board = [["/add"], ["/month", "/year"]] update.message.reply_text(text="New birthday successfully added", reply_markup=ReplyKeyboardMarkup( key_board, one_time_keyboard=False)) return "Menu"
def update(self): return db_session.commit()