Exemplo n.º 1
0
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)
Exemplo n.º 2
0
                            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'],