def find_all(cls, available=None): query = session.query(cls) if available is not None: query = query.filter(cls.available == available) return query.all()
def open(self): global all_players global decks global player_decks global decks_pointers global players_opponents print "WebSocket opened" self.id = uuid.uuid4() all_players[self.id] = self if len(decks) >= 1: decks.pop() cards = session.query(Cards).options(joinedload(Cards.card_aspects)).join(Sets).filter(Sets.set_code.in_(['DGM', 'GTC', 'RTR'])).all() card_data = self.map_card_data(cards) random.shuffle(card_data) decks.append(card_data[0:90]) decks_pointers[self.id] = len(decks) - 1 self.init_piles() player_decks[self.id] = [] for key, value in player_decks.iteritems(): player_decks[key] = [] for key, value in all_players.iteritems(): if self.id == key: pass else: players_opponents[self.id] = key players_opponents[key] = self.id if len(all_players) > 1: self.init_priority() self.update_priority() card_back = base64.b64encode(open("D:\\Users\\Roderick\\workspace\\magic_app\\magicimages\\Basics\\Back.full.jpg", "rb").read()) self.write_message(json.dumps({"message_type": "card_back", "payload": card_back}), False)
def get_transactions(): delivered = request.args.get('delivered', 'true') == 'true' query = session.query(Transaction) if delivered is not None: query = query.filter(Transaction.delivered == delivered) transactions = query.all() payload = [transaction.to_json() for transaction in transactions] return make_response(jsonify(payload), 200)
if loyalty: aspect.loyalty = loyalty.getText() for card_type in card_data.find('typelist').findAll('type'): dbtype = CardTypes() dbtype.type_type = card_type['type'] dbtype.type_name = card_type.getText() card_types.append(dbtype) aspect.card_types = card_types return [aspect] soup = BeautifulSoup(open('../../../mtg-data/setinfo.xml').read()) blocks = dict([(row.block_name, row) for row in session.query(Blocks).all()]) sets = dict([(row.set_name, row) for row in session.query(Sets).all()]) for curr_set in soup.setlist.findAll('set'): block_name = curr_set.find('block') set_code = curr_set.find('code') set_name = curr_set.find('name') if not set_name: continue release_date = curr_set.find('release_date') dbset = Sets(set_name.getText()) if dbset.set_name in sets: continue if(set_code):
# -*- coding: utf-8 -*- import sys import os sys.path.append(os.path.abspath('../')) from models.cards import CardAspects from lib.db import session import re #Script to calculate and update all card aspect's #converted mana costs cards = session.query(CardAspects) for card in cards: costs = str(card.mana_cost).split('}') cmc = 0 costs.pop() # print costs for cost in costs: tmp_str = cost.translate(None, '{') if tmp_str == 'X': pass elif tmp_str.isdigit(): cmc += int(tmp_str) else: cmc += 1 card.converted_mana_cost = cmc
import sys import os sys.path.append(os.path.abspath("../")) from bs4 import BeautifulSoup from models.cards import Cards from models.decks import Decks from lib.db import session import re # loads a .deck format card deck into the database # card deck format session.query(Decks).delete() session.commit() cards = session.query(Cards) cards_map = {} for card in cards: if card.card_type == "double": cards_map[re.sub(u" // ", "_", card.full_name)] = card else: cards_map[re.sub(u"Æ", "AE", card.name)] = card soup = BeautifulSoup(open("../../../mtg-data/tempcube.deck").read()) cards_list = soup.findAll("deck")[0].findAll("section")[0].findAll("item") for card in cards_list: deck = Decks()