def add_squad(): data = request.json['data'] points = request.json['points'] faction = request.json['faction'] tourney_id = request.args.get('tourney_id') tourney_list_id = request.args.get('tourney_list_id') pm = PersistenceManager(myapp.db_connector) tourney_list = pm.get_tourney_list(tourney_list_id) tourney_list.faction = Faction.from_string( faction ) tourney_list.points = points ships = [] for squad_member in data: ship_pilot = pm.get_ship_pilot( squad_member['ship'], squad_member['pilot'] ) ship = Ship( ship_pilot_id=ship_pilot.id, tlist_id=tourney_list.id) tourney_list.ships.append( ship ) for upgrade in squad_member['upgrades']: upgrade = pm.get_upgrade(upgrade['type'], upgrade['name']) ship_upgrade = ShipUpgrade( ship_id=ship.id, upgrade=upgrade ) ship.upgrades.append( ship_upgrade ) ships.append( ship ) tourney_list.generate_hash_key() pm.db_connector.get_session().add_all( ships ) pm.db_connector.get_session().commit() return jsonify(tourney_id=tourney_id, tourney_list_id=tourney_list.id)
print "missing " + ship_name if args['--db']: ship_name_upper = ship_name.upper() ship_name_canon = ship_name_upper + "_CANON_NAME" print "%s = '%s'" % (ship_name_upper, ship_name) print "%s = '%s'" % (ship_name_canon, ship['xws']) if args['pilots']: with open(pilots_file) as data_file: pilots = json.loads(data_file.read()) for pilot in pilots: p = pilot['name'] ship_xws = ship_map[ pilot['ship']]['xws'] if not p in ship_exclusions: db_pilot = pm.get_ship_pilot(pilot['ship'], p) if db_pilot is None: if args['--db']: sql = "insert into pilot ( name, canon_name, cost, pilot_skill ) " \ "values ( '%s','%s', '%d', '%d' );" % \ (pilot['name'], pilot['xws'], pilot['points'], pilot['skill']) print sql sql = "insert ship_pilot ( ship_type, pilot_id) " \ "select '%s', id from pilot where name='%s' and canon_name='%s';" % \ (ship_xws, pilot['name'], pilot['xws']) print sql if args['--metadata']: chassis = ship_map[pilot['ship']] pp.pprint( { 'ship_size': chassis['size'], 'faction': None, 'name': pilot['name'], 'canon_name': pilot['xws'],