投稿日:

eepy – Python コード埋め込み形のシンプルなテンプレートエンジン


Python コードを埋め込む形式のシンプルなテンプレートエンジンです。Ruby の ERB のような感じです。まだ検討したいところも多々ありますが、もしお役に立ちそうに思われた方はご自由にお使いください。で、何か不具合があれば教えてください♪

特徴

  • Ruby の ERB 風の記法
  • Python のインデントブロックを意識せず、テンプレートを記述可(”end” キーワードの使用)
  • フィルタ。値の埋込み時に、html クォートなどのフィルタを自動的・全般的に適用可
  • キャッシュ。Renderer 利用時に利用可
    • メモリ保持で揮発性の1次ファストキャッシュ(1トランザクション内でのテンプレートの繰り返し利用の為)
    • 2次キャッシュ。コンパイル済みのテンプレートの永続化。現在、File ベースと、Gae Memcache ベースのストレージを準備。他の DB ストアなど、必要に応じてストレージを追加可
  • ヘルパ。幾つかの便利なヘルパを提供
    • extends と block。Django のような、テンプレートを継承・拡張するスタイルを利用可
    • include。テンプレート中で、他のテンプレートを読み込み

なお、eepy は、yuin さんの embpy をベースとした派生ライブラリです。
また、キャッシュのストレージ仕様は、kuwata-lab.compyTenjin を参考にさせて頂いています。

embpy との主な相違点(2010.02.10時点)

  • ブロックの終わりの明示は end キーワードでのみ可
  • インラインでブロックを記述する時に、{: ~ :} の記述が不要(普通に書けます)
  • 複数行のコードパートにブロックを書く時は、end キーワードは不要(普通に書けます)
  • 三項演算子が利用可
  • render の戻り値は、unicode

ドキュメント

モジュール、クラス、メソッドに記載の doc を参照してください。

テンプレート(template.html/utf8):

Python コード:

出力結果:

ソースコード

次の URLにて公開しています。

https://github.com/yuka2py/eepy

 

 

 

投稿日:

cnvk – Python で全角・半角・ひらがな・カタカナ等を変換する


Python で半角・全角の変換やカタカナとひらがなの変換などを行う簡単なモジュールを作ったので貼っておきます。他にも似たライブラリがありますがその一つとして。もしお役に立ちそうに思われた方はご自由にお使いください。で、何か不具合があれば教えてください♪

特徴

  • unicodedata よりは色々細かく指定できます。
  • 追加の変換テーブルを指定するのも簡単です。
  • 変換しない文字を指定できます。
  • 変換方法は単純に replace です。正規表現ほか色々と試したんですが、たぶん早い方です。

ドキュメント

モジュール、関数に記載の doc を参照してください。

ダウンロード

https://github.com/yuka2py/cnvk

コード