Added foreign move names. Japanese only so far.
authorEevee <git@veekun.com>
Mon, 14 Sep 2009 04:06:15 +0000 (21:06 -0700)
committerEevee <git@veekun.com>
Mon, 14 Sep 2009 04:06:15 +0000 (21:06 -0700)
Also fixed roomaji conversion to not die spectacularly when given
hiragana.  For some reason I let it know about hiragana soukuon and
youon, but nothing else, so it gets totally confused.

pokedex/data/csv/move_names.csv [new file with mode: 0644]
pokedex/db/tables.py
pokedex/roomaji.py

diff --git a/pokedex/data/csv/move_names.csv b/pokedex/data/csv/move_names.csv
new file mode 100644 (file)
index 0000000..d419523
--- /dev/null
@@ -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,シャドーダイブ
index 19289c1..c295ddd 100644 (file)
@@ -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')
index 212909e..46f39b5 100644 (file)
@@ -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'