def spendLotteryTicket(): if c.ticketBalance.get() > 0: playSoundEffect(7) sleep(1) c.ticketBalance.set(c.ticketBalance.get() - 1) accountDB.update(decrement("lotteryTickets"), Query().id == 1) threading.Thread(target=spin).start()
def change_word_count(user_id, increase): S = Query() if increase: db.update(increment("word_count"), S.user_id == user_id) else: db.update(decrement("word_count"), S.user_id == user_id) return db.search(S.user_id == user_id)[0]
def update_driver(self, driver_email: str, rider_email: str): Person = Query() driver = self._db.get(Person.email == driver_email) assigned_riders = driver['assigned_riders'] assigned_riders.append(rider_email) self._db.update(decrement('passenger_capacity'), Person.email == driver_email) self._db.update(set('assigned_riders', assigned_riders), Person.email == driver_email)
def user_points_upsert(user_id, incrdecr): User_data = Query() points = db_user_data.search(User_data.id == user_id) if len(points) > 0 and incrdecr == 'incr': db_user_data.update(operations.increment('point_amount'), User_data.id == user_id) elif len(points) > 0 and incrdecr == 'decr': db_user_data.update(operations.decrement('point_amount'), User_data.id == user_id) else: db_user_data.insert({ 'id': user_id, 'point_amount': 1, 'warnings': [], 'mutes': [], 'bans': [] })
def log_member(self, member_id): logged_time = datetime.now() member_query = Query() # db.contains(User.name == 'John') if self.membersDB.contains(member_query.id == member_id): today = date.today() visited_today = self.logDB.search(( member_query.id == member_id) & (member_query.log_time.matches( re.compile(str(today), re.IGNORECASE)))) if visited_today and not config.allow_multiple_scans_a_day: raise LookupError("Member has already logged in today!") else: member_data = self.membersDB.get(member_query.id == member_id) # print(member_data["name_last"] + ", " + member_data["name_first"]) member_type_str = member_data["member_type"] remaining_time = "-1" if member_type_str == "punchcard": if member_data["expiration_punches"] <= 0: raise RuntimeError( "The member has used all of their punches!") self.membersDB.update(decrement('expiration_punches'), member_query.id == member_id) log_entry = { "id": member_id, "name_first": member_data["name_first"], "name_last": member_data["name_last"], "log_time": str(logged_time), "member_type_str": member_type_str, "remaining_punches": member_data["expiration_punches"] - 1, "expiration_date": member_data["expiration_date"], "link": member_data.get("link", None) } self.logDB.insert(log_entry) return log_entry else: raise LookupError( "The entered user ID could not be found in the database")
def check_wagers(clip, total_clip_count): add_play_record(clip) is_wager = where('type') == 'wager' # decrease count of miss db.update(decrement('count'), is_wager & (where('clip') != clip)) # delete the zeros db.remove(is_wager & (where('count') == 0)) # get the hits results = db.search(is_wager & (where('clip') == clip)) winners = [] for result in results: # pay out pay_out = result['amount'] + result[ 'amount'] * total_clip_count / result['start_count'] db.update(add('bucks', pay_out), (where('type') == 'account') & (where('id') == result['user_id'])) # record win add_win_record((result['user_id'], result['disp_name'], clip, pay_out)) # delete wager record db.remove(is_wager & (where('wager_id') == result['wager_id'])) winners.append((result['disp_name'], pay_out, result['clip'])) return winners
def test_decrement(db): db.update(decrement('int'), where('char') == 'a') assert db.get(where('char') == 'a')['int'] == 0
i.name = r formReplacements.append(fData) q = Query() db.update({"_formData": formReplacements}, q._id == random_session_id) print(base64.b64encode(parser.getHTML().encode("utf-8")).decode("utf-8")) elif ("css" in content_type and session_id != "null"): q = Query() sess = db.get(q._id == session_id) if (sess): q = Query() db.update(decrement("_css_remaining"), q._id == session_id) for mapping in sess.keys(): if not mapping.startswith("_"): # actual css replacement happens here body = body.replace(mapping + " ", sess[mapping] + " ") body = body.replace(mapping + "{", sess[mapping] + "{") print(base64.b64encode(body.encode("utf-8")).decode("utf-8")) else: print(encoded_body) elif ("javascript" in content_type and session_id != "null"): time.sleep(0.1)
def test_decrement_with_delta_raise(db): with pytest.raises(ValueError): db.update(decrement('int', 2, raise_if_negative=True), where('char') == 'a')
def test_decrement_with_delta(db): db.update(decrement('int', 2), where('char') == 'a') assert db.get(where('char') == 'a')['int'] == -1
def get_next_tid(): table = get_tinydb_table(path, 'users') tid = table.all()[0]["tid"] table.update(decrement('tid')) return tid
async def unpoint(self, ctx, user: discord.User): userdb = str(user) User = Query() db.update(decrement('Points'), User.User == userdb) print(userdb + " has lost a point!") await ctx.channel.send(f"Point taken from {userdb}!")