diff --git a/pokedex/data/csv/move_names.csv b/pokedex/data/csv/move_names.csv new file mode 100644 index 0000000..d419523 --- /dev/null +++ b/pokedex/data/csv/move_names.csv @@ -0,0 +1,468 @@ +move_id,language_id,name +1,1,はたく +2,1,からてチョップ +3,1,おうふくビンタ +4,1,れんぞくパンチ +5,1,メガトンパンチ +6,1,ネコにこばん +7,1,ほのおのパンチ +8,1,れいとうパンチ +9,1,かみなりパンチ +10,1,ひっかく +11,1,はさむ +12,1,ハサミギロチン +13,1,かまいたち +14,1,つるぎのまい +15,1,いあいぎり +16,1,かぜおこし +17,1,つばさでうつ +18,1,ふきとばし +19,1,そらをとぶ +20,1,しめつける +21,1,たたきつける +22,1,つるのムチ +23,1,ふみつけ +24,1,にどげり +25,1,メガトンキック +26,1,とびげり +27,1,まわしげり +28,1,すなかけ +29,1,ずつき +30,1,つのでつく +31,1,みだれづき +32,1,つのドリル +33,1,たいあたり +34,1,のしかかり +35,1,まきつく +36,1,とっしん +37,1,あばれる +38,1,すてみタックル +39,1,しっぽをふる +40,1,どくばり +41,1,ダブルニードル +42,1,ミサイルばり +43,1,にらみつける +44,1,かみつく +45,1,なきごえ +46,1,ほえる +47,1,うたう +48,1,ちょうおんぱ +49,1,ソニックブーム +50,1,かなしばり +51,1,ようかいえき +52,1,ひのこ +53,1,かえんほうしゃ +54,1,しろいきり +55,1,みずでっぽう +56,1,ハイドロポンプ +57,1,なみのり +58,1,れいとうビーム +59,1,ふぶき +60,1,サイケこうせん +61,1,バブルこうせん +62,1,オーロラビーム +63,1,はかいこうせん +64,1,つつく +65,1,ドリルくちばし +66,1,じごくぐるま +67,1,けたぐり +68,1,カウンター +69,1,ちきゅうなげ +70,1,かいりき +71,1,すいとる +72,1,メガドレイン +73,1,やどりぎのタネ +74,1,せいちょう +75,1,はっぱカッター +76,1,ソーラービーム +77,1,どくのこな +78,1,しびれごな +79,1,ねむりごな +80,1,はなびらのまい +81,1,いとをはく +82,1,りゅうのいかり +83,1,ほのおのうず +84,1,でんきショック +85,1,10まんボルト +86,1,でんじは +87,1,かみなり +88,1,いわおとし +89,1,じしん +90,1,じわれ +91,1,あなをほる +92,1,どくどく +93,1,ねんりき +94,1,サイコキネシス +95,1,さいみんじゅつ +96,1,ヨガのポーズ +97,1,こうそくいどう +98,1,でんこうせっか +99,1,いかり +100,1,テレポート +101,1,ナイトヘッド +102,1,ものまね +103,1,いやなおと +104,1,かげぶんしん +105,1,じこさいせい +106,1,かたくなる +107,1,ちいさくなる +108,1,えんまく +109,1,あやしいひかり +110,1,からにこもる +111,1,まるくなる +112,1,バリアー +113,1,ひかりのかべ +114,1,くろいきり +115,1,リフレクター +116,1,きあいだめ +117,1,がまん +118,1,ゆびをふる +119,1,オウムがえし +120,1,じばく +121,1,タマゴばくだん +122,1,したでなめる +123,1,スモッグ +124,1,ヘドロこうげき +125,1,ホネこんぼう +126,1,だいもんじ +127,1,たきのぼり +128,1,からではさむ +129,1,スピードスター +130,1,ロケットずつき +131,1,とげキャノン +132,1,からみつく +133,1,ドわすれ +134,1,スプーンまげ +135,1,タマゴうみ +136,1,とびひざげり +137,1,へびにらみ +138,1,ゆめくい +139,1,どくガス +140,1,たまなげ +141,1,きゅうけつ +142,1,あくまのキッス +143,1,ゴッドバード +144,1,へんしん +145,1,あわ +146,1,ピヨピヨパンチ +147,1,キノコのほうし +148,1,フラッシュ +149,1,サイコウェーブ +150,1,はねる +151,1,とける +152,1,クラブハンマー +153,1,だいばくはつ +154,1,みだれひっかき +155,1,ホネブーメラン +156,1,ねむる +157,1,いわなだれ +158,1,ひっさつまえば +159,1,かくばる +160,1,テクスチャー +161,1,トライアタック +162,1,いかりのまえば +163,1,きりさく +164,1,みがわり +165,1,わるあがき +166,1,スケッチ +167,1,トリプルキック +168,1,どろぼう +169,1,クモのす +170,1,こころのめ +171,1,あくむ +172,1,かえんぐるま +173,1,いびき +174,1,のろい +175,1,じたばた +176,1,テクスチャー2 +177,1,エアロブラスト +178,1,わたほうし +179,1,きしかいせい +180,1,うらみ +181,1,こなゆき +182,1,まもる +183,1,マッハパンチ +184,1,こわいかお +185,1,だましうち +186,1,てんしのキッス +187,1,はらだいこ +188,1,ヘドロばくだん +189,1,どろかけ +190,1,オクタンほう +191,1,まきびし +192,1,でんじほう +193,1,みやぶる +194,1,みちづれ +195,1,ほろびのうた +196,1,こごえるかぜ +197,1,みきり +198,1,ボーンラッシュ +199,1,ロックオン +200,1,げきりん +201,1,すなあらし +202,1,ギガドレイン +203,1,こらえる +204,1,あまえる +205,1,ころがる +206,1,みねうち +207,1,いばる +208,1,ミルクのみ +209,1,スパーク +210,1,れんぞくぎり +211,1,はがねのつばさ +212,1,くろいまなざし +213,1,メロメロ +214,1,ねごと +215,1,いやしのすず +216,1,おんがえし +217,1,プレゼント +218,1,やつあたり +219,1,しんぴのまもり +220,1,いたみわけ +221,1,せいなるほのお +222,1,マグニチュード +223,1,ばくれつパンチ +224,1,メガホーン +225,1,りゅうのいぶき +226,1,バトンタッチ +227,1,アンコール +228,1,おいうち +229,1,こうそくスピン +230,1,あまいかおり +231,1,アイアンテール +232,1,メタルクロー +233,1,あてみなげ +234,1,あさのひざし +235,1,こうごうせい +236,1,つきのひかり +237,1,めざめるパワー +238,1,クロスチョップ +239,1,たつまき +240,1,あまごい +241,1,にほんばれ +242,1,かみくだく +243,1,ミラーコート +244,1,じこあんじ +245,1,しんそく +246,1,げんしのちから +247,1,シャドーボール +248,1,みらいよち +249,1,いわくだき +250,1,うずしお +251,1,ふくろだたき +252,1,ねこだまし +253,1,さわぐ +254,1,たくわえる +255,1,はきだす +256,1,のみこむ +257,1,ねっぷう +258,1,あられ +259,1,いちゃもん +260,1,おだてる +261,1,おにび +262,1,おきみやげ +263,1,からげんき +264,1,きあいパンチ +265,1,きつけ +266,1,このゆびとまれ +267,1,しぜんのちから +268,1,じゅうでん +269,1,ちょうはつ +270,1,てだすけ +271,1,トリック +272,1,なりきり +273,1,ねがいごと +274,1,ねこのて +275,1,ねをはる +276,1,ばかぢから +277,1,マジックコート +278,1,リサイクル +279,1,リベンジ +280,1,かわらわり +281,1,あくび +282,1,はたきおとす +283,1,がむしゃら +284,1,ふんか +285,1,スキルスワップ +286,1,ふういん +287,1,リフレッシュ +288,1,おんねん +289,1,よこどり +290,1,ひみつのちから +291,1,ダイビング +292,1,つっぱり +293,1,ほごしょく +294,1,ほたるび +295,1,ラスターパージ +296,1,ミストボール +297,1,フェザーダンス +298,1,フラフラダンス +299,1,ブレイズキック +300,1,どろあそび +301,1,アイスボール +302,1,ニードルアーム +303,1,なまける +304,1,ハイパーボイス +305,1,どくどくのキバ +306,1,ブレイククロー +307,1,ブラストバーン +308,1,ハイドロカノン +309,1,コメットパンチ +310,1,おどろかす +311,1,ウェザーボール +312,1,アロマセラピー +313,1,うそなき +314,1,エアカッター +315,1,オーバーヒート +316,1,かぎわける +317,1,がんせきふうじ +318,1,ぎんいろのかぜ +319,1,きんぞくおん +320,1,くさぶえ +321,1,くすぐる +322,1,コスモパワー +323,1,しおふき +324,1,シグナルビーム +325,1,シャドーパンチ +326,1,じんつうりき +327,1,スカイアッパー +328,1,すなじごく +329,1,ぜったいれいど +330,1,だくりゅう +331,1,タネマシンガン +332,1,つばめがえし +333,1,つららばり +334,1,てっぺき +335,1,とおせんぼう +336,1,とおぼえ +337,1,ドラゴンクロー +338,1,ハードプラント +339,1,ビルドアップ +340,1,とびはねる +341,1,マッドショット +342,1,ポイズンテール +343,1,ほしがる +344,1,ボルテッカー +345,1,マジカルリーフ +346,1,みずあそび +347,1,めいそう +348,1,リーフブレード +349,1,りゅうのまい +350,1,ロックブラスト +351,1,でんげきは +352,1,みずのはどう +353,1,はめつのねがい +354,1,サイコブースト +355,1,はねやすめ +356,1,じゅうりょく +357,1,ミラクルアイ +358,1,めざましビンタ +359,1,アームハンマー +360,1,ジャイロボール +361,1,いやしのねがい +362,1,しおみず +363,1,しぜんのめぐみ +364,1,フェイント +365,1,ついばむ +366,1,おいかぜ +367,1,つぼをつく +368,1,メタルバースト +369,1,とんぼがえり +370,1,インファイト +371,1,しっぺがえし +372,1,ダメおし +373,1,さしおさえ +374,1,なげつける +375,1,サイコシフト +376,1,きりふだ +377,1,かいふくふうじ +378,1,しぼりとる +379,1,パワートリック +380,1,いえき +381,1,おまじない +382,1,さきどり +383,1,まねっこ +384,1,パワースワップ +385,1,ガードスワップ +386,1,おしおき +387,1,とっておき +388,1,なやみのタネ +389,1,ふいうち +390,1,どくびし +391,1,ハートスワップ +392,1,アクアリング +393,1,でんじふゆう +394,1,フレアドライブ +395,1,はっけい +396,1,はどうだん +397,1,ロックカット +398,1,どくづき +399,1,あくのはどう +400,1,つじぎり +401,1,アクアテール +402,1,タネばくだん +403,1,エアスラッシュ +404,1,シザークロス +405,1,むしのさざめき +406,1,りゅうのはどう +407,1,ドラゴンダイブ +408,1,パワージェム +409,1,ドレインパンチ +410,1,しんくうは +411,1,きあいだま +412,1,エナジーボール +413,1,ブレイブバード +414,1,だいちのちから +415,1,すりかえ +416,1,ギガインパクト +417,1,わるだくみ +418,1,バレットパンチ +419,1,ゆきなだれ +420,1,こおりのつぶて +421,1,シャドークロー +422,1,かみなりのキバ +423,1,こおりのキバ +424,1,ほのおのキバ +425,1,かげうち +426,1,どろばくだん +427,1,サイコカッター +428,1,しねんのずつき +429,1,ミラーショット +430,1,ラスターカノン +431,1,ロッククライム +432,1,きりばらい +433,1,トリックルーム +434,1,りゅうせいぐん +435,1,ほうでん +436,1,ふんえん +437,1,リーフストーム +438,1,パワーウィップ +439,1,がんせきほう +440,1,クロスポイズン +441,1,ダストシュート +442,1,アイアンヘッド +443,1,マグネットボム +444,1,ストーンエッジ +445,1,ゆうわく +446,1,ステルスロック +447,1,くさむすび +448,1,おしゃべり +449,1,さばきのつぶて +450,1,むしくい +451,1,チャージビーム +452,1,ウッドハンマー +453,1,アクアジェット +454,1,こうげきしれい +455,1,ぼうぎょしれい +456,1,かいふくしれい +457,1,もろはのずつき +458,1,ダブルアタック +459,1,ときのほうこう +460,1,あくうせつだん +461,1,みかづきのまい +462,1,にぎりつぶす +463,1,マグマストーム +464,1,ダークホール +465,1,シードフレア +466,1,あやしいかぜ +467,1,シャドーダイブ diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index 19289c1..c295ddd 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -181,6 +181,12 @@ class MoveEffect(TableBase): short_effect = Column(Unicode(256), nullable=False) effect = Column(Unicode(5120), nullable=False) +class MoveName(TableBase): + __tablename__ = 'move_names' + move_id = Column(Integer, ForeignKey('moves.id'), primary_key=True, nullable=False, autoincrement=False) + language_id = Column(Integer, ForeignKey('languages.id'), primary_key=True, nullable=False, autoincrement=False) + name = Column(Unicode(16), nullable=False) + class MoveTarget(TableBase): __tablename__ = 'move_targets' id = Column(Integer, primary_key=True, nullable=False) @@ -403,9 +409,10 @@ LocationArea.location = relation(Location, backref='areas') Machine.generation = relation(Generation) Move.damage_class = relation(MoveDamageClass, backref='moves') -Move.move_effect = relation(MoveEffect, backref='moves') +Move.foreign_names = relation(MoveName, backref='pokemon') Move.generation = relation(Generation, backref='moves') Move.machines = relation(Machine, backref='move') +Move.move_effect = relation(MoveEffect, backref='moves') Move.target = relation(MoveTarget, backref='moves') Move.type = relation(Type, backref='moves') @@ -413,6 +420,8 @@ Move.effect = rst.MoveEffectProperty('effect') Move.priority = association_proxy('move_effect', 'priority') Move.short_effect = rst.MoveEffectProperty('short_effect') +MoveName.language = relation(Language) + Pokemon.abilities = relation(Ability, secondary=PokemonAbility.__table__, order_by=PokemonAbility.slot, backref='pokemon') diff --git a/pokedex/roomaji.py b/pokedex/roomaji.py index 212909e..46f39b5 100644 --- a/pokedex/roomaji.py +++ b/pokedex/roomaji.py @@ -22,7 +22,7 @@ _roomaji_kana = { _roomaji_youon = { u'ャ': 'ya', u'ュ': 'yu', u'ョ': 'yo', - u'ゃ': 'ya', u'ゅ': 'yu', u'ょ': 'yo', + #u'ゃ': 'ya', u'ゅ': 'yu', u'ょ': 'yo', } # XXX If romanize() ever handles hiragana, it will need to make sure that the @@ -73,7 +73,7 @@ def romanize(string): # Youon elif char in _roomaji_youon: - if last_kana[-1] != 'i' or last_kana == 'i': + if not last_kana or last_kana[-1] != 'i' or last_kana == 'i': raise ValueError("Youon must follow an -i sound.") # Drop the -i and append the ya/yu/yo sound @@ -88,7 +88,8 @@ def romanize(string): last_kana = new_char # Sokuon - elif char in (u'っ', u'ッ'): + #elif char in (u'っ', u'ッ'): + elif char in (u'ッ',): # Remember it and double the consonant next time around last_kana = 'sokuon'