コード例 #1
0
ファイル: database.py プロジェクト: dlee2/Grr
def init_db():
    """Import all modules here that might define models so that
    they will be registered properly on the metadata. Otherwise
    you will have to import them first before calling init_db()
    """
    from models import Department, Employee, Pokemon, Role
    Base.metadata.drop_all(bind=engine)
    Base.metadata.create_all(bind=engine)

    engineering = Department(name="Engineering")
    db_session.add(engineering)
    hr = Department(name="Human Resources")
    db_session.add(hr)

    manager = Role(name="manager")
    db_session.add(manager)
    engineer = Role(name="engineer")
    db_session.add(engineer)

    peter = Employee(name="Peter", department=engineering, role=engineer)
    db_session.add(peter)
    roy = Employee(name="Roy", department=engineering, role=engineer)
    db_session.add(roy)
    tracy = Employee(name="Tracy", department=hr, role=manager)
    db_session.add(tracy)
    db_session.commit()

    charzard = Pokemon(name="Charzard", level=100, type="fire")
    db_session.add(charzard)
    db_session.commit()
コード例 #2
0
def create_pokemon():
    pokemon = load_json('pokemon.json')

    for next_pokemon in pokemon:
        print("working pokemon" + next_pokemon)
        name = next_pokemon
        type = pokemon[next_pokemon]['type']
        move = pokemon[next_pokemon]['moves']
        attack = pokemon[next_pokemon]['attack']
        defense = pokemon[next_pokemon]['defense']
        spdefense = pokemon[next_pokemon]['special-defense']
        specialattack = pokemon[next_pokemon]['special-attack']
        image = pokemon[next_pokemon]['img']

        newPokemon = Pokemon(name=name,
                             type=type,
                             move=move,
                             attack=attack,
                             defense=defense,
                             spdefense=spdefense,
                             specialattack=specialattack,
                             image=image)
        # After I create the book, I can then add it to my session.
        session.add(newPokemon)
        # commit the session to my DB.
        session.commit()
コード例 #3
0
 def make_pokemon(self, name, type_name):
     trainer_id = users.get_current_user().user_id()
     pokemon = Pokemon(parent=trainer_key(trainer_id)) #Define a Trainer as the parent of the new pokemon. This trainer's key is the current user id. Thus every user has his own pokemon list
     pokemon.img_url = self.get_pokemon_image(name)
     pokemon.name = name
     pokemon.type = Type.query(Type.name == type_name).get()
     return pokemon
コード例 #4
0
ファイル: api.py プロジェクト: barlanj/pokedex_adventure
 def pokemon_remove_group(self, request):
     """ POKEMON-REMOVE-GROUP: remove the group association """
     if not request.from_datastore:
         return Pokemon(given_name="ID of pokemon was not found")
     this_pokemon = request.key.get()
     this_pokemon.group = None
     this_pokemon.put()
     return this_pokemon
コード例 #5
0
def step_impl(context):
    for row in context.table:
        pokemon = Pokemon(
            row['name'],
            attack=row['attack'],
            defense=row['defense'],
            )
        setattr(context, row['name'], pokemon)
コード例 #6
0
ファイル: generator.py プロジェクト: Unix-Code/poke-battle-ai
 def _pokemon_from_species(self,
                           poke_species: PokemonSpecies,
                           level: int = 100) -> Pokemon:
     full_stats = self.calc_all_stats(poke_species.base_stats, level)
     move_set = self._random_moves(poke_species)
     nickname = self._random_name()
     return Pokemon(poke_species,
                    hp=full_stats.total_hp,
                    stats=full_stats,
                    move_set=move_set,
                    nickname=nickname)
コード例 #7
0
    def test_source_insert_3(self):
        s = Pokemon(name = "deyuan", type = "str8_fire", move = "ancient_power", attack = "101", defense = "101", spdefense = "101", specialattack = "101", image = "www.google.com")
        session.add(s)
        session.commit()


        r = session.query(Pokemon).filter_by(name = "deyuan").one()
        self.assertEqual(str(r.image), 'www.google.com')

        session.query(Pokemon).filter_by(name = "deyuan").delete()
        session.commit()
コード例 #8
0
    def test_source_insert_2(self):
        s = Pokemon(name = "william", type = "unknown", move = "rest", attack = "100", defense = "100", spdefense = "100", specialattack = "100", image = "www.aol.com")
        session.add(s)
        session.commit()


        r = session.query(Pokemon).filter_by(name = "william").one()
        self.assertEqual(str(r.spdefense), '100')

        session.query(Pokemon).filter_by(name = "william").delete()
        session.commit()
コード例 #9
0
    def test_source_insert_1(self):
        s = Pokemon(name = "pikachu", type = "electric", move = "bash", attack = "100", defense = "50", spdefense = "50", specialattack = "50", image = "www.pikachu.com")
        session.add(s)
        session.commit()


        r = session.query(Pokemon).filter_by(name = "pikachu").one()
        self.assertEqual(str(r.type), 'electric')

        session.query(Pokemon).filter_by(name = "pikachu").delete()
        session.commit()
コード例 #10
0
def insert_pokemon(session, pokemon, time):
    pokemon_obj = Pokemon(
        encounter_id=str(pokemon['encounter_id']),
        spawnpoint_id=str(pokemon['spawnpoint_id']),
        disappear_time=dt_from_epoch(int(pokemon['disappear_time'])),
        pokemon_id=int(pokemon['pokemon_id']),
        pokemon_name=unicode(pokemon['pokemon_name']),
        time=time,
        geom='SRID=4326;POINT(%s %s)' %
        (float(pokemon['longitude']), float(pokemon['latitude'])))

    session.merge(pokemon_obj)
コード例 #11
0
ファイル: api.py プロジェクト: barlanj/pokedex_adventure
    def pokemon_insert(self, pokemon):
        """ POKEMON-ADD: add a pokemon under the user's account """
        if pokemon.from_datastore:
            pokemon_with_parent = pokemon
            pokemon_with_parent.put()
        else:
            user = endpoints.get_current_user()
            pokemon_with_parent = Pokemon(parent=get_parent_key(user),
                                          given_name=pokemon.given_name,
                                          species_name=pokemon.species_name,
                                          species_id=pokemon.species_id,
                                          level=pokemon.level)

            this_key = pokemon_with_parent.put()
            this_instance = this_key.get()
            this_instance.pokemon_key = this_key.urlsafe()
            this_instance.put()
            pokemon_with_parent = this_instance

        return pokemon_with_parent
コード例 #12
0
os.environ['DJANGO_SETTINGS_MODULE'] = 'charts/settings'

import django

#django.setup()

from . import models
from models import Pokemon

data = csv.reader(open(project_dir +
                       "pokemon-sun-and-moon-gen-7-stats/pokemon.csv"),
                  delimiter=",")

for row in data:
    if row[0] != "id":
        pokemon = Pokemon()
        pokemon.id = row[0]
        pokemon.ndex = row[1]
        pokemon.species = row[2]
        pokemon.form = row[3]
        pokemon.type1 = row[4]
        pokemon.type2 = row[5]
        pokemon.ability1 = row[6]
        pokemon.ability2 = row[7]
        pokemon.abilityH = row[8]
        pokemon.hp = row[9]
        pokemon.attack = row[10]
        pokemon.defense = row[11]
        pokemon.spattack = row[12]
        pokemon.spdefense = row[13]
        pokemon.speed = row[14]
コード例 #13
0
ファイル: main.py プロジェクト: Nogthings/pykemon
from constants import *
from models.Battle import *
from models.Pokemon import *
#First define pokemons with its stats

pokemon1 = Pokemon("Bulbasaur", 100, 11, 3)
pokemon2 = Pokemon("Charmander", 100, 9, 1)
pokemon1.current_hp = 45
pokemon2.current_hp = 39
#Stats

pokemon1.baseStats = {
    HP: 39,
    ATTACK: 52,
    DEFENSE: 43,
    SPATTACK: 80,
    SPDEFENSE: 65,
    SPEED: 65
}

pokemon1.ev = {
    HP: 0,
    ATTACK: 0,
    DEFENSE: 0,
    SPATTACK: 0,
    SPDEFENSE: 0,
    SPEED: 0
}

pokemon1.iv = {
    HP: 21,
コード例 #14
0
ファイル: pokemons.py プロジェクト: euribates/bdd-intro
def step_impl(context, name, attack):
    setattr(context, name, Pokemon(name, attack=attack))
コード例 #15
0
ファイル: pokemons.py プロジェクト: euribates/bdd-intro
def step_impl(context, name, defense):
    setattr(context, name, Pokemon(name, defense=defense))
コード例 #16
0
ファイル: initDB.py プロジェクト: Jehazekel/info2602a2
            height = None

        #check weight for 'null'
        if pokemon['weight_kg'] != '':
            weight = pokemon['weight_kg']
        else:
            weight = None

        #check type2 for 'null'
        if pokemon['type2'] != '':
            sec_type = pokemon['type2']
        else:
            sec_type = None

        record = Pokemon(pid=pokemon['pokedex_number'],
                         name=pokemon['name'],
                         attack=pokemon['attack'],
                         defense=pokemon['defense'],
                         hp=pokemon['hp'],
                         height=height,
                         sp_attack=pokemon['sp_attack'],
                         sp_defense=pokemon['sp_defense'],
                         speed=pokemon['speed'],
                         weight=weight,
                         type1=pokemon['type1'],
                         type2=sec_type)
        db.session.add(record)

    db.session.commit()
# replace any 'null' values with None to avoid db errors
コード例 #17
0
    'height': 0.7,
}, {
    'pokemon_id': 4,
    'name': 'Charmander',
    'ptype': 'fire',
    'weight': 8.5,
    'height': 0.6,
}, {
    'pokemon_id': 7,
    'name': 'Squirtle',
    'ptype': 'water',
    'weight': 9.0,
    'height': 0.5,
}]

# Delete DB if exist to restart
if os.path.exists('pokemons.db'):
    os.remove('pokemons.db')

# create the database
db.create_all()

for p in POKEMONS:
    pokemon = Pokemon(pokemon_id=p['pokemon_id'],
                      name=p['name'],
                      ptype=p['ptype'],
                      weight=p['weight'],
                      height=p['height'])
    db.session.add(pokemon)

db.session.commit()
コード例 #18
0
    def initPokemonStats(self):
        #First define pokemons with its stats

        pokemon1 = "Blastoise"
        pokemon2 = "Skarmory"
        with open('db/pokemons.json') as f:
            data = json.load(f)
            type2 = None
            if "type2" in data[pokemon1].keys():
                type2 = data[pokemon1]["type2"]
            self.pokemon1 = Pokemon(pokemon1, 100, data[pokemon1]["type1"],
                                    type2)
            type22 = None
            if "type2" in data[pokemon2]:
                type22 = data[pokemon2]["type2"]
            self.pokemon2 = Pokemon(pokemon2, 100, data[pokemon2]["type1"],
                                    type22)
            self.pokemon1.baseStats = {
                HP: data[self.pokemon1.name]["hp"],
                ATTACK: data[self.pokemon1.name]["attack"],
                DEFENSE: data[self.pokemon1.name]["defense"],
                SPATTACK: data[self.pokemon1.name]["spattack"],
                SPDEFENSE: data[self.pokemon1.name]["spdefense"],
                SPEED: data[self.pokemon1.name]["speed"]
            }

            self.pokemon2.baseStats = {
                HP: data[self.pokemon2.name]["hp"],
                ATTACK: data[self.pokemon2.name]["attack"],
                DEFENSE: data[self.pokemon2.name]["defense"],
                SPATTACK: data[self.pokemon2.name]["spattack"],
                SPDEFENSE: data[self.pokemon2.name]["spdefense"],
                SPEED: data[self.pokemon2.name]["speed"]
            }

        self.pokemon1.ev = {
            HP: 0,
            ATTACK: 0,
            DEFENSE: 0,
            SPATTACK: 0,
            SPDEFENSE: 0,
            SPEED: 0
        }

        self.pokemon1.iv = {
            HP: 21,
            ATTACK: 21,
            DEFENSE: 21,
            SPATTACK: 21,
            SPDEFENSE: 21,
            SPEED: 21
        }

        self.pokemon2.ev = {
            HP: 0,
            ATTACK: 0,
            DEFENSE: 0,
            SPATTACK: 0,
            SPDEFENSE: 0,
            SPEED: 0
        }

        self.pokemon2.iv = {
            HP: 21,
            ATTACK: 21,
            DEFENSE: 21,
            SPATTACK: 21,
            SPDEFENSE: 21,
            SPEED: 21
        }
        self.pokemon1.compute_stats()
        self.pokemon2.compute_stats()
        print(self.pokemon1.stats)
        print(self.pokemon2.stats)
        self.pokemon1.current_hp = self.pokemon1.stats["HP"]
        self.pokemon2.current_hp = self.pokemon2.stats["HP"]
        print(self.pokemon1.current_hp, self.pokemon1.stats["HP"])
コード例 #19
0
ファイル: api.py プロジェクト: barlanj/pokedex_adventure
 def pokemon_delete(self, request):
     """ POKEMON-DELETE: delete's a pokemon from user. """
     if not request.from_datastore:
         return Pokemon(given_name="ID of pokemon was not found")
     request.key.delete()
     return Pokemon(given_name="deleted")
コード例 #20
0
ファイル: __init__.py プロジェクト: awforsythe/rando-pokedex
def w_party():
    if not validate_post():
        return '', 403

    party = request.json.get('party')
    if not party:
        return '', 204

    party_obj = Party.query.first() or Party()
    old_party_pids = [party_obj.get_pid(i) for i in range(6)]

    updated_pokemon = []
    updated_dexinfo = []

    with db.session.no_autoflush:
        for i, pokemon in enumerate(party + ([None] * (6 - len(party)))):
            pid = pokemon['header']['pid'] if pokemon else None
            party_obj.set_pid(i, pid)

            if pid:
                updated_current = False

                pokemon_obj = Pokemon.query.filter_by(
                    pid=pid).first() or Pokemon(
                        pid=pid, created_time=datetime.datetime.utcnow())
                old_pokedex_id = pokemon_obj.pokedex_id
                new_pokedex_id = pokemon['block_data']['pokedex_id']

                if old_pokedex_id and new_pokedex_id != old_pokedex_id:
                    old_dex_obj = PokedexInfo.query.filter_by(
                        pokedex_id=old_pokedex_id).first()
                    if old_dex_obj:
                        old_dex_obj.evolves_into_dexid = new_pokedex_id
                        db.session.add(old_dex_obj)
                        updated_dexinfo.append(old_dex_obj)

                if pokemon_obj.pokedex_id != new_pokedex_id:
                    pokemon_obj.pokedex_id = new_pokedex_id
                    updated_current = True

                for attr in ('ability', 'nature', 'held_item'):
                    if getattr(pokemon_obj,
                               '%s_id' % attr) != pokemon['block_data'][attr]:
                        setattr(pokemon_obj, '%s_id' % attr,
                                pokemon['block_data'][attr])
                        updated_current = True

                for attr in ('experience', 'nickname', 'move_1_id',
                             'move_2_id', 'move_3_id', 'move_4_id',
                             'move_1_pp', 'move_2_pp', 'move_3_pp',
                             'move_4_pp'):
                    if getattr(pokemon_obj,
                               attr) != pokemon['block_data'][attr]:
                        setattr(pokemon_obj, attr, pokemon['block_data'][attr])
                        updated_current = True

                for attr in ('level', 'hp', 'hp_max', 'attack', 'defense',
                             'speed', 'sp_attack', 'sp_defense'):
                    if getattr(pokemon_obj,
                               attr) != pokemon['battle_stats'][attr]:
                        setattr(pokemon_obj, attr,
                                pokemon['battle_stats'][attr])
                        updated_current = True

                if updated_current:
                    db.session.add(pokemon_obj)
                    updated_pokemon.append(pokemon_obj)

        new_party_pids = [party_obj.get_pid(i) for i in range(6)]

        party_composition_changed = new_party_pids != old_party_pids
        reserve_composition_changed = set(new_party_pids) != set(
            old_party_pids)

        if party_composition_changed:
            db.session.add(party_obj)

    if party_composition_changed or updated_pokemon or updated_dexinfo:
        db.session.commit()
        for pokemon_obj in updated_pokemon:
            socketio.emit('pokemon_changed', pokemon_obj.serialize())
        for dex_obj in updated_dexinfo:
            socketio.emit('pokedex_changed', dex_obj.serialize())
        if party_composition_changed:
            socketio.emit('party_composition_changed')
        if reserve_composition_changed:
            socketio.emit('reserve_composition_changed')

    forward_post('/w/party')
    return '', 204