ngi644の日記

備忘録も兼ねています。

Archive for the ‘Python’ Category

collective.xdv でコンテンツタイプごとのテーマテンプレート切り替え

without comments

collective.xdv

今まで、テーマテンプレートとルールを切り替えるのは、「コントロールパネルでできる、URLの正規表現マッチだけ。」と思っていた。

でも、こいつは、diazo(xdv)サーバーを使っている。だから、diazo(xdv)の書き方にそって、ルール内に<theme />タグで書いてあげれば、コンテンツタイプごとに切り替えだってできるのだ。

たとえば、ドキュメントコンテンツタイプでテンプレートを切り替えるには、 <theme href=”sample.html” css:if-content=”body.portaltype-document”/> てな感じで簡単に切り替えができる。

これができたので、ルールのネストなんかもできるに違いない!後日テストしよう。

Written by ngi644

11月 25th, 2010 at 6:01 pm

Posted in Python,Zope/Plone

ロゴとフッターを変えるプロダクト

without comments

Plone4のデザインは、素敵だけど、ロゴとフッターの変更が面倒だと常々感じる。TTTWで変更できるけど、ZMIにアクセスして、base_propertiesをいじったり、Page templateファイルをいじったりしないといけない。

Ploneには、サイト設定という場所がある。なぜ、ロゴとフッターを変更するというサイト作成において、重要なものがないのだろうか?と思っていた。

そこで、今回、さくっと作ってみた。Plone4でしかテストしていないけど、とりあえず、動いている感じ。

ngi.theme.simple

http://pypi.python.org/pypi/ngi.theme.simple/1.0b3

override.zcmlを使ったりとちょっと?というところもあるけど、それは、これから直していきます。

適用前

設定画面 フッターはHTMLタグも使えます。

適用後

Written by ngi644

10月 30th, 2010 at 8:36 pm

Posted in Python,Zope/Plone

MeeGoでGAE SDK for Pythonで開発する時のポイント1

without comments

MeeGoは、Python2.6が標準で入っています。しかし、GAEは、Python2.5を必要とするため2.5を自前でインストールする必要があります。

Pythonをコンパイルする前に、「ソフトウェアの追加・削除」もしくはYumで下記のパッケージを導入します。

  • openssl-devel
  • sqlite-devel

これらを導入後、Pythonをコンパイルします。

Written by ngi644

7月 3rd, 2010 at 2:00 am

Thunderbirdでメールが消えてしまったときの対処

without comments

Thunderbirdは,定期的に最適化していないとカタログが壊れてメールボックスから消えてしまうことがあります.また,Thunderbirdは,最適化するまでは,メールは何も削除せず,削除フラグがついているだけですので,スクリプトを書いてそのフラグを変更してあげるだけで修正できます.

# -*- coding: utf-8 -*-
from __future__ import with_statement
writer = open('Inbox_new.txt','a')
with open("Inbox") as f:
    for i, x in enumerate(f):
        x = x.replace('X-Mozilla-Status: 0009', 'X-Mozilla-Status: 0011')
        writer.write(x)
        if (i % 10000) == 0:
            print i
writer.close()
print 'end'

Written by ngi644

6月 8th, 2010 at 4:36 am

Posted in Python

Plone 4 でZMIのルートが文字化けする

without comments

Plone4で新規サイトを作成する際、タイトルに日本語を入れるとZopeインスタンスのルート画面が文字化けします。これを回避するには、Root Folderのプロパティに、management_page_charsetプロパティを追加して、値にutf-8を入れます。

encode_error 

1.Propertiesタブをクリックします。

encode_error_1

2.新規追加する部分に、Name に management_page_charset を Value に utf-8 を入力します。Typeは、Stringを選択しておきます。Addボタンを押します。

encode_error_2

以上で設定は完了です。

encode_eoor_3
文字化けが直りました。

参考サイト

Written by ngi644

11月 14th, 2009 at 12:59 pm

Posted in Python,Zope/Plone

自前のテンプレートエンジン

without comments

いま、自作のテンプレートエンジンを作ってみてたりしている。

きっかけは、ZPTなどがどうやっているのかを知りたくて始めた。結構、地道な作業なんだ。手軽に利用できるようにしてくれているのはありがたい。

自分のも出来たらそのうち公開する(予定。。。)

Written by ngi644

11月 6th, 2009 at 5:48 pm

3.eduCommonsのサイトを日本語にする

without comments

インストールしたばかりのユーザインターフェイスは英語ですが、ボランティアにより、日本語化[1]が進められています。

今回は、ユーザインターフェイスを日本語へ変更を行います。

1.管理画面(Site Setup)へアクセス

ユーザインターフェイスの言語切り替えは、管理画面(Site Setup)内の言語(Language)項目で行います。

サイトへ管理者でログインし、画面右上の「Site Setup」リンクをクリックして管理画面へアクセスします。

fig 1.管理画面へのリンク
site_setup_link

言語設定ページへ移動します。言語(Language)リンクをクリックします。

fig 2. 言語(Language)設定ページへのリンク
site_setup_language

2.日本語へ変更

サイトのユーザインターフェイス言語を日本語へ変更します。

  1. Default site language項目のドロップダウンボックスから「Japanese」を選択します。
  2. Available languagesの項目のドロップダウンボックスから「Japanese」を選択します。
    ※複数指定することにより、複数言語のUIを提供することができます。
  3. 最後にSaveボタンをクリックします。

fig 3. 言語設定(Langage Settings)ページ
language_settings

ブラウザでリロードを行えば、サイトが日本語に切り替わっていることがわかります。

fig 4.日本語に切り替わった
ui_japanese_1  ui_japanese_2

リファレンス

[1] eduCommons Japan : http://groups.google.co.jp/group/educommons-japan

Written by ngi644

8月 31st, 2009 at 5:08 pm

2.eduCommonsへのログインとログアウト

without comments

前回は、eduCommons[1]をWindowsへインストールしました。

今回は、eduCommonsへのログインとログアウトをします。

1.ユーザ名とパスワードはどこ?

WindowsインストーラでインストールをしたeduCommonsですが、インストール時にユーザ名やパスワードを指定することがありませんでした。

では、どうやってログインするのでしょうか?答えは、eduCommonsをインストールしたフォルダにあります。adminPassword.txtファイルに管理者のユーザ名とパスワードが記入されています。

fig 1. ディレクトリ内のファイル
adminPassword

Read the rest of this entry »

Written by ngi644

8月 26th, 2009 at 7:45 pm

1.eduCommonsのインストールと起動・停止

without comments

eduCommons[1]は、オープンコースウェアを構築するためのWebアプリケーションです。eduCommonsは、オープンソースプロジェクトであり、CMS(Content Management System)のZope, Plone[2,3]をベースに作られています。

先日、バージョン3.2.1-finalがリリースされたので、Windows版を自宅のWindowsXPマシンへインストールをしてみました。

Read the rest of this entry »

Written by ngi644

8月 25th, 2009 at 5:51 pm

IIS + WSGI Part-1

without comments

サーバーがWindows Server 2008になる可能性があるので,IIS からDjangoやZope3を使うための方法を探してみた.

pyisapie
http://apps.sourceforge.net/trac/pyisapie/

isapi-wsgi
http://code.google.com/p/isapi-wsgi/

いろいろあった.

これから,VM上にWindows Server 2008環境を作ってテストしてみる.

続く

Written by ngi644

5月 24th, 2009 at 2:02 am

easy_installでMinGWをコンパイラとして指定する方法

without comments

Windowsでeasy_installを行うとコンパイルが必要なものの場合,コンパイラが無いからコンパイルできないと言われて先に進まない.

そのときは,Python2.5の場合,VisualStudio2003が必要となるのだけれど,これだけのためにVisualStudio2003を入れるのはHDDがもったいない.

なので,MinGWを利用する.

でも,ただインストールしてパスを通しただけでは,easy_installでMinGWをコンパイラとして利用することはできない.

PythonのLibフォルダにdistutilsというフォルダあり,この中にdistutils.cfgというファイルがある(無いときは作成する).

そして,下記の行を追加する.

[build]
compiler=mingw32

このあと,easy_installを実行すると,MinGWでコンパイルされる.

Written by ngi644

5月 19th, 2009 at 5:11 pm

Posted in Python,Zope/Plone

Grok : Zope3をベースとしたWeb Framework

without comments

Grokをまじめに始めました.GrokはZope3をベースとしたWeb Frameworkです.とっても扱いやすいです.zcmlをほとんど意識しないのが新鮮.

これから,簡易CMSの作成をしていくつもり.

以下,機能など.

  1. 追加・変更・削除ができる
    • フォルダ 
    • ドキュメント 
    • ファイル(画像など)
  2. コンテンツの階層管理
  3. メールフォーム
  4. アクセス制限
  5. ユーザ認証
  6. ワークフローによる公開プロセス
  7. リッチなドキュメントエディタ

Written by ngi644

4月 29th, 2009 at 7:40 pm

Posted in grok,Python,Zope/Plone

PyS60のコアがPython2.5.1になっている。

without comments

久しぶりにE51でプロトタイピングしようと思いPyS60のサイトに行ってみたら、バージョンが1.9.2となっていてコアが2.5.1になっていた。

Python2.5,2.6のスタイルでコーディングすることが多くなっていたので大変うれしいバージョンアップです。

Written by ngi644

3月 23rd, 2009 at 4:35 am

Posted in Python,日常

difflib

without comments

PloneのDiffツールは、これを基にしているのだね。

http://www.python.jp/doc/nightly/lib/module-difflib.html

Written by ngi644

12月 18th, 2008 at 4:36 pm

Posted in Python,Zope/Plone

2009年私的キーワード

without comments

2009年の私的キーワード。

といった感じです。

Written by ngi644

12月 18th, 2008 at 2:09 pm