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

Google App Engine, MeeGo, Python No Comments

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

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

  • openssl-devel
  • sqlite-devel

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

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

Python No 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'

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

Python, Zope/Plone No 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
文字化けが直りました。

参考サイト

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

Google App Engine, Python, Zope/Plone No Comments

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

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

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

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

Python, Zope/Plone, eduCommons No 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

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

Python, Zope/Plone, eduCommons No Comments

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

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

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

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

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

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

Read the rest…

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

Python, Zope/Plone, eduCommons No Comments

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

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

Read the rest…

IIS + WSGI Part-1

Python, Windows, Zope/Plone, grok No 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環境を作ってテストしてみる.

続く

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

Python, Zope/Plone No Comments

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

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

なので,MinGWを利用する.

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

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

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

[build]
compiler=mingw32

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

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

Python, Zope/Plone, grok No Comments

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

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

以下,機能など.

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

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

Python, 日常 No Comments

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

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

difflib

Python, Zope/Plone No Comments

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

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

2009年私的キーワード

Java, Python, XMLデータベース, Zope/Plone, 日常 No Comments

2009年の私的キーワード。

といった感じです。

Sednaを使う

Python, XMLデータベース, Zope/Plone 1 Comment

XMLデータベースのSednaをインストールしました。 以下、Pythonで使えるようにするまでのインストール手順の覚書。

  1. Sednaのインストール。
    1. 利用するプラットホームのバイナリをダウンロードしてインストール。
      1. http://modis.ispras.ru/sedna/index.html
  2. PythonからSednaを利用するためのAPIをインストール
    1. 僕は、Zope3からも簡単に使いたいと思ったので、zif.sednaを使うことにした。
      1. http://pypi.python.org/pypi/zif.sedna/
      2. easy_install zif.sedna でインストールできます。しかし・・・
    2. プラットホームがWindowsだったので、苦労しました。
      1. 2.1.2項のコマンドをする前に、以下のものをDLしてインストールして置く必要があります。
      2. libxml2-pythonのインストール
        1. 以下のサイトから自分のPythonバージョンのものをDLしてインストールします。
        2. http://users.skynet.be/sbi/libxml-python/
      3. lxmlのインストール
        1. 以下のサイトからwindowsパッケージをDLしてインストール
        2. http://pypi.python.org/pypi/lxml/1.3.4
      4. 2.1.2項のコマンドを実行。
      5. インストール終了。
  3. Sednaの操作
    1. Sedna起動
      1. se_gov
    2. Sedna終了
      1. se_stop
    3. DB作成
      1. se_cdb 作成データベース名
    4. DB削除
      1. se_ddb 削除したいデータベース名
    5. DBの起動
      1. se_sm 起動したいデータベース名
    6. DBの終了
      1. se_smsd 終了したいデータベース名
    7. Sednaターミナル起動
      1. se_term データベース名
    8. Sednaターミナル 基本コマンド
      1. ヘルプ
        1. \?
      2. コミット
        1. \commit
      3. ロールバック
        1. \rollback
      4. 直近のクエリの実行時間
        1. \showtime
      5. ターミナルでの変数のセット
        1. \set
      6. ターミナルでの変数の解放
        1. \unset
      7. ターミナル終了
        1. \quit
  4. Sedna便利ツール
    1. ターミナルで作業をするのは大変とういう方に、GUIのツールがあります。
    2. SednaAdmin
      1. http://sednaadmin.great.ufc.br/
    3. Javaでできているので、適当なところに解凍してSednaAdmin.jarを実行すればよい。

Windows Mobile 開発再開です。

.net framework, MS, Photo, Python, mobile No Comments

WM → UIQ → S60 → (Android) とモバイルOSを使ってみた。
この中で、使いやすいのは、WMとS60だった。
その中でも、個人的に開発しやすい(イメージを形にしやすい)のがWMなので、
やっぱりWMでソフト開発を再開します。
たまに、Python S60でモックの作成とかはするけどね。
ちなみに、PythonS60は、APIが優れていて、数行のコードでかなりのことができます。

手始めに、モバイルショットのバージョンアップからです。
モバイルショットでご要望等がありましたらお待ちしております。

Blogged with the Flock Browser

« Previous Entries