Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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
Exemplo n.º 8
0
	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')
Exemplo n.º 9
0
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()