Inflectorしたい
今日は時間ないので手抜き。その昔 symfony(sが小文字のバージョンの方だよ)というPHPのフレームワークを触ってたときに、「sfInflector」というライブラリが割と好きでよく使ってました。このの記事にあるヤツです。
Pythonでもそういうのやるライブラリあるかなーと探したのがこれ。
ソースを見た限りではRailsのソレに影響を受けているていうかソレな感じ。取り急ぎは、camelizeとunderscoreだけ欲しかったので、簡単な使い方だけをメモとして残す。なんかSpanish対応とかしてるっぽいので、時間があったらもう少しくわしく書くかも。
簡単な使い方
インストールはpipでできます。
pip install Inflector
こんな感じに使う
#-*- coding:utf8 -*- from inflector import Inflector print Inflector().camelize('camel_case') #=> CamelCase print Inflector().underscore('UnderScore') #=> under_score
やんなとか怒られそうだけど、PHPの時は動的にクラス名を補完してインスタンスを作るとかに使ってた。
#-*- coding:utf8 -*- from inflector import Inflector class DrillbitsHaskell(object): """ new type drillbits """ sex = "female" job = "high school student" hoge_code = "drillbits_haskell" db = globals()[Inflector().camelize(hoge_code)]() print db #=> <__main__.DrillbitsHaskell object at 0x10048e050> print db.sex #=> female print db.job #=> high school student