Merge pull request #111 from zaneadix/flavor-texts

Flavor texts
This commit is contained in:
Paul Hallett 2016-02-25 09:42:25 +00:00
commit ea5d443631
3 changed files with 62 additions and 4 deletions

View file

@ -2528,6 +2528,17 @@ class PokemonSpeciesDescriptionSerializer(serializers.ModelSerializer):
fields = ('description', 'language')
class PokemonSpeciesFlavorTextSerializer(serializers.ModelSerializer):
flavor_text = serializers.CharField()
language = LanguageSummarySerializer()
version = VersionSummarySerializer()
class Meta:
model = PokemonSpeciesFlavorText
fields = ('flavor_text', 'language', 'version')
class PokemonSpeciesNameSerializer(serializers.ModelSerializer):
language = LanguageSummarySerializer()
@ -2553,6 +2564,7 @@ class PokemonSpeciesDetailSerializer(serializers.ModelSerializer):
form_descriptions = PokemonSpeciesDescriptionSerializer(many=True, read_only=True, source="pokemonspeciesdescription")
pokedex_numbers = PokemonDexEntrySerializer(many=True, read_only=True, source="pokemondexnumber")
egg_groups = serializers.SerializerMethodField('get_pokemon_egg_groups')
flavor_text_entries = PokemonSpeciesFlavorTextSerializer(many=True, read_only=True, source="pokemonspeciesflavortext")
genera = serializers.SerializerMethodField('get_pokemon_genera')
generation = GenerationSummarySerializer()
growth_rate = GrowthRateSummarySerializer()
@ -2560,7 +2572,6 @@ class PokemonSpeciesDetailSerializer(serializers.ModelSerializer):
habitat = PokemonHabitatSummarySerializer(source="pokemon_habitat")
shape = PokemonShapeSummarySerializer(source="pokemon_shape")
evolves_from_species = PokemonSpeciesSummarySerializer()
varieties = PokemonSummarySerializer(many=True, read_only=True, source="pokemon")
varieties = serializers.SerializerMethodField('get_pokemon_varieties')
evolution_chain = EvolutionChainSummarySerializer()
pal_park_encounters = serializers.SerializerMethodField('get_encounters')
@ -2590,6 +2601,7 @@ class PokemonSpeciesDetailSerializer(serializers.ModelSerializer):
'names',
'pal_park_encounters',
'form_descriptions',
'flavor_text_entries',
'genera',
'varieties'
)

View file

@ -1622,6 +1622,25 @@ class APIData():
return pokemon_species_form_description
@classmethod
def setup_pokemon_species_flavor_text_data(self, pokemon_species, flavor_text='pkmn spcs flvr txt'):
version = self.setup_version_data(
name='ver for '+flavor_text)
language = self.setup_language_data(
name='lang for '+flavor_text)
pokemon_species_flavor_text = PokemonSpeciesFlavorText.objects.create (
pokemon_species = pokemon_species,
version = version,
language = language,
flavor_text = flavor_text
)
pokemon_species_flavor_text.save()
return pokemon_species_flavor_text
@classmethod
def setup_pokemon_species_data(self, generation=None, evolves_from_species=None, evolution_chain=None, growth_rate=None, pokemon_color=None, pokemon_habitat=None, pokemon_shape=None, name='pkm spcs', gender_rate=50, capture_rate=20, base_happiness=20, is_baby=False, hatch_counter=10, has_gender_differences=True, forms_switchable=False, order=1):
@ -3523,6 +3542,7 @@ class APITests(APIData, APITestCase):
pokemon_species = self.setup_pokemon_species_data(evolves_from_species=evolves_from_species, name='base pkmn spcs')
pokemon_species_name = self.setup_pokemon_species_name_data(pokemon_species, name='base pkmn shp name')
pokemon_species_form_description = self.setup_pokemon_species_form_description_data(pokemon_species, description='frm dscr for pkmn spcs')
pokemon_species_flavor_text = self.setup_pokemon_species_flavor_text_data(pokemon_species, flavor_text='flvr txt for pkmn spcs')
pokedex = self.setup_pokedex_data(name='pkdx for pkmn spcs')
pal_park = self.setup_pal_park_data(pokemon_species=pokemon_species)
@ -3591,6 +3611,12 @@ class APITests(APIData, APITestCase):
self.assertEqual(response.data['form_descriptions'][0]['description'], pokemon_species_form_description.description)
self.assertEqual(response.data['form_descriptions'][0]['language']['name'], pokemon_species_form_description.language.name)
self.assertEqual(response.data['form_descriptions'][0]['language']['url'], '{}{}/language/{}/'.format(test_host, api_v2, pokemon_species_form_description.language.pk))
# flavor text params
self.assertEqual(response.data['flavor_text_entries'][0]['flavor_text'], pokemon_species_flavor_text.flavor_text)
self.assertEqual(response.data['flavor_text_entries'][0]['language']['name'], pokemon_species_flavor_text.language.name)
self.assertEqual(response.data['flavor_text_entries'][0]['language']['url'], '{}{}/language/{}/'.format(test_host, api_v2, pokemon_species_flavor_text.language.pk))
self.assertEqual(response.data['flavor_text_entries'][0]['version']['name'], pokemon_species_flavor_text.version.name)
self.assertEqual(response.data['flavor_text_entries'][0]['version']['url'], '{}{}/version/{}/'.format(test_host, api_v2, pokemon_species_flavor_text.version.pk))
# pal park params
self.assertEqual(response.data['pal_park_encounters'][0]['base_score'], pal_park.base_score)
self.assertEqual(response.data['pal_park_encounters'][0]['rate'], pal_park.rate)

View file

@ -2684,6 +2684,18 @@ A Pokemon Species forms the basis for at least one pokemon. Attributes of a Poke
"url": "http://pokeapi.co/api/v2/language/9/"
}
}],
"flavor_text_entries": [
{
"flavor_text": "When the bulb on\nits back grows\nlarge, it appears\fto lose the\nability to stand\non its hind legs.",
"language": {
"name": "en",
"url": "http://localhost:8000/api/v2/language/9/"
},
"version": {
"name": "red",
"url": "http://localhost:8000/api/v2/version/1/"
}
}],
"form_descriptions": [{
"description": "Forms have different stats and movepools. During evolution, Burmy's current cloak becomes Wormadam's form, and can no longer be changed.",
"language": {
@ -2735,7 +2747,8 @@ A Pokemon Species forms the basis for at least one pokemon. Attributes of a Poke
| generation | The generation this pokemon species was introduced in | [NamedAPIResource](#namedapiresource) ([Generation](#generations)) |
| names | The name of this pokemon species listed in different languages | list [Name](#resourcename) |
| pal_park_encounters | A list of encounters that can be had with this pokemon species in pal park | list [PalParkEncounterArea](#palparkencounterarea) |
| form_descriptions | Descriptions of different forms pokemon take on within the pokemon species | list [Description](#description) |
| flavor_text_entries | The flavor text of this flavor text listed in different languages | list [PokemonSpeciesFlavorText](#pokemonspeciesflavortext) |
| form_descriptions | Descriptions of different forms pokemon take on within the pokemon species | list [Description](#description) |
| genera | The genus of this pokemon species listed in multiple languages | [Genus](#genus) |
| varieties | A list of the pokemon that exist within this pokemon species | list [NamedAPIResource](#namedapiresource) ([Pokemon](#pokemon)) |
@ -2761,6 +2774,13 @@ A Pokemon Species forms the basis for at least one pokemon. Attributes of a Poke
| rate | The base rate for encountering the referenced pokemon in this pal park area | integer |
| area | The pal park area where this encounter happens | [NamedAPIResource](#namedapiresource) ([PalParkArea](#pal-park-areas)) |
#### PokemonSpeciesFlavorText
| Name | Description | Data Type |
| ---- | ----------- | --------- |
| flavor_text | The localized flavor text for an api resource in a specific language | string |
| language | The language this name is in | [NamedAPIResource](#namedapiresource) ([Language](#languages)) |
| version | The version this flavor text entry is used in | [NamedAPIResource](#namedapiresource) ([Version](#versions)) |
## Stats
Stats determine certain aspects of battles. Each pokemon has a value for each stat which grows as they gain levels and can be altered momenarily by effects in battles.
@ -3054,8 +3074,8 @@ Languages for translations of api resource information.
| Name | Description | Data Type |
| ---- | ----------- | --------- |
| flavor_text | The localized name for an api resource in a specific language | string |
| language | The language this name is in | [NamedAPIResource](#namedapiresource) ([Language](#languages)) |
| flavor_text | The localized flavor text for an api resource in a specific language | string |
| language | The language this name is in | [NamedAPIResource](#namedapiresource) ([Language](#languages)) |
#### GenerationGameIndex