コード例 #1
0
def make_tmp_file(name):
    deck = Deck.objects(Q(name=name)).first()
    file = open('tmp/' + name + '.txt', 'w')
    descr = deck.description.split('\n')
    for line in descr:
        file.write('#' + line + '\n')
    for line in deck.cards:
        file.write(line + '\n')
    return file
コード例 #2
0
def save_deck_to_db(deck):
    if Deck.objects(Q(name=deck['name'])).first() is not None:
        return False
    new_deck = Deck(name=deck['name'],
                    description=deck['description'],
                    length=deck['length'],
                    cards=deck['cards'])
    new_deck.save()
    return True
コード例 #3
0
def get_deck_list():
    deck_list = []
    for deck in Deck.objects():
        deck_list.append({
            'name': deck.name,
            'length': deck.length,
            'description': deck.description
        })
    return deck_list
コード例 #4
0
def add_room(room):
    decks = []
    current_numbers = []
    for deckname in room['decks']:
        deck = Deck.objects(Q(name=deckname)).first()
        cards = deck.cards
        random.shuffle(cards)
        if len(cards) > 1:
            decks.append(cards)
        else:
            l = []
            l.append(cards)
            decks.append(l)
        current_numbers.append(0)
    time = datetime.datetime.utcnow
    new_room = Room(name=room['id'],
                    decks=decks,
                    current_numbers=current_numbers,
                    last_update=time)
    new_room.save()
    log.info('Created game room with id: ' + str(new_room['id']))
    delete_old_rooms()
コード例 #5
0
def delete_deck_from_db(deck):
    deleting_deck = Deck.objects(Q(name=deck)).first()
    deleting_deck.delete()
コード例 #6
0
def deck_exists(name):
    if Deck.objects(Q(name=name)).first() is not None:
        return True
    else:
        return False
コード例 #7
0
def change_deck_in_db(deck):
    changing_deck = Deck.objects(Q(name=deck['name'])).first()
    changing_deck.cards = deck['cards']
    changing_deck.length = deck['length']
    changing_deck.save()