Пример #1
0
 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 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]
Пример #4
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)
Пример #5
0
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': []
        })
Пример #6
0
    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")
Пример #7
0
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
Пример #8
0
def test_decrement(db):
    db.update(decrement('int'), where('char') == 'a')
    assert db.get(where('char') == 'a')['int'] == 0
Пример #9
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)
Пример #10
0
def test_decrement_with_delta_raise(db):
    with pytest.raises(ValueError):
        db.update(decrement('int', 2, raise_if_negative=True), where('char') == 'a')
Пример #11
0
def test_decrement_with_delta(db):
    db.update(decrement('int', 2), where('char') == 'a')
    assert db.get(where('char') == 'a')['int'] == -1
Пример #12
0
def test_decrement(db):
    db.update(decrement('int'), where('char') == 'a')
    assert db.get(where('char') == 'a')['int'] == 0
Пример #13
0
def get_next_tid():
    table = get_tinydb_table(path, 'users')
    tid = table.all()[0]["tid"]
    table.update(decrement('tid'))
    return tid
Пример #14
0
 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}!")