From 14d9b6ead7473beb6c2c664882bccec06ecc4132 Mon Sep 17 00:00:00 2001 From: Andrew Ekstedt Date: Thu, 15 Mar 2012 17:46:25 -0700 Subject: [PATCH] Fix test_media.py. - Add --media-root option (was half-supported already, but not accepted on the command line). - Don't test for Colosseum and XD graphics, since we have none. - Acknowledge *-beta sprites. --- pokedex/tests/test_media.py | 11 +++++++++++ pokedex/util/media.py | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pokedex/tests/test_media.py b/pokedex/tests/test_media.py index 375c94d..48f213e 100644 --- a/pokedex/tests/test_media.py +++ b/pokedex/tests/test_media.py @@ -13,6 +13,11 @@ import re from pokedex.db import tables, connect from pokedex.util import media +def pytest_addoption(parser): + group = parser.getgroup("pokedex") + group.addoption("--media-root", dest="media_root", action="store", default=None, + help="path to pokedex-media") + def pytest_funcarg__root(request): root = request.config.option.media_root if not root: @@ -119,6 +124,10 @@ def test_get_everything(root, pytestconfig): versions = list(session.query(tables.Version).all()) versions.append('red-green') + # We don't have any graphics for Colosseum or XD + versions.remove(session.query(tables.Version).filter_by(identifier=u'colosseum').one()) + versions.remove(session.query(tables.Version).filter_by(identifier=u'xd').one()) + black = session.query(tables.Version).filter_by(identifier=u'black').one() filenames = get_all_filenames(root) @@ -243,6 +252,8 @@ def test_get_everything(root, pytestconfig): for filename in filenames: if filename.startswith(exceptions): unaccessed_filenames.remove(filename) + if filename.endswith('-beta.png'): + unaccessed_filenames.remove(filename) if unaccessed_filenames: print 'Unaccessed files:' diff --git a/pokedex/util/media.py b/pokedex/util/media.py index 7b672b3..0b4f60d 100644 --- a/pokedex/util/media.py +++ b/pokedex/util/media.py @@ -193,7 +193,10 @@ class _BasePokemonMedia(BaseMedia): version_group = version.version_group version_dir = '-'.join( v.identifier for v in version_group.versions) - generation, info = self._pokemon_sprite_info[version_dir] + try: + generation, info = self._pokemon_sprite_info[version_dir] + except KeyError: + raise ValueError('Version directory %s not found', version_dir) if generation < self.introduced_in: raise ValueError("Pokemon %s didn't exist in %s" % ( self.species_id, version_dir))