def save_user(): """Saves the incoming user profile""" schema = User.schema validator = Validator(schema) if validator.validate(request.get_json()): user = User.from_dict(validator.document) try: session.add(user) session.commit() payload = user.to_dict() status = 200 except IntegrityError: status = 400 payload = {'username': ['Username already exists']} else: status = 400 payload = validator.errors response = make_response(jsonify(payload), status) session.flush() session.close() return response
def update_account(code): account = Account.get(code) if account is None: response = make_response(jsonify({'message': 'No Account was found'}), 404) return response validator = Validator(Account.schema) payload = request.get_json() if not validator.validate(payload): response = make_response(jsonify(validator.errors), 400) return response account = Account.from_dict(validator.document, account) session.add(account) session.commit() session.flush() payload = account.to_dict() session.close() response = make_response(jsonify(payload), 200) return response
def update_product(code): """Updates the Product""" payload = request.get_json() validator = Validator(Product.schema) if not validator.validate(payload): return make_response(jsonify(validator.errors), 400) product = Product.get(code) if product is None: return make_response( jsonify({'errors': ['No product was found with {}'.format(code)]}), 404) product = Product.from_json(payload, product) session.add(product) session.commit() session.flush() return make_response(jsonify(product.to_json()), 200)
def deliver_transaction(code): transaction = Transaction.get(code) transaction.delivered = True session.add(transaction) session.commit() session.flush() return make_response(jsonify(transaction.to_json()), 200)
def update_transaction(code): validator = Validator(Transaction.schema) payload = request.get_json() if not validator.validate(payload): return make_response(jsonify(validator.errors), 400) transaction = Transaction.get(code) transaction = Transaction.from_json(payload, transaction) session.add(transaction) session.commit() session.flush() return make_response(jsonify(transaction.to_json()), 200)
def register_product(): """Registers the product in the database""" payload = request.get_json() validator = Validator(Product.schema) if not validator.validate(payload): return make_response(jsonify(validator.errors), 400) product = Product.from_json(payload) session.add(product) session.commit() session.flush() payload = product.to_json() return make_response(jsonify(payload), 201)
def save_account(): payload = request.get_json() validator = Validator(Account.schema) if not validator.validate(payload): response = make_response(jsonify(validator.errors), 400) return response document = validator.document account = Account.from_dict(document) session.add(account) session.commit() session.flush() response = make_response(jsonify(account.to_dict()), 201) session.close() return response
if(set_code): dbset.set_code = set_code.getText() if(release_date): dbset.release_date = release_date.getText() if(block_name): block_text = block_name.getText() if(block_text in blocks): blocks[block_text].sets.append(dbset) else: temp_block = Blocks(block_text) temp_block.sets.append(dbset) blocks[block_text] = temp_block else: session.add(dbset) for block in blocks.values(): session.merge(block) session.commit() sets = dict([(row.set_name, row) for row in session.query(Sets).all()]) card_soup = BeautifulSoup(open('../../../mtg-data/cards.xml').read()) card_meta_soup = BeautifulSoup(open('../../../mtg-data/meta.xml').read()) card_in_set_count = dict() card_data = card_soup.cardlist.find('card')
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() if card["id"] in cards_map: deck.cards_idcards = cards_map[card["id"]].idcards session.add(deck) else: print "No Match for card " + card["id"] session.commit()