ngi644の日記

備忘録も兼ねています。

Archive for the ‘Python’ Category

Sednaを使う

with one 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を実行すればよい。

Written by ngi644

12月 18th, 2008 at 2:52 am

Windows Mobile 開発再開です。

without comments

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

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

Blogged with the Flock Browser

Written by ngi644

9月 16th, 2008 at 9:32 pm

GPS NMEAフォーマット関連

without comments

フォーマットの説明が載っているサイト
NMEA-0183フォーマット
http://bg66.soc.i.kyoto-u.ac.jp/forestgps/nmea.html

Blogged with the Flock Browser

Written by ngi644

8月 11th, 2008 at 11:52 pm

Posted in Python

pythonのオブジェクトの型判定。

without comments

会社で型判定のやり方について新たに教えてもらった。

以前のエントリにあるように、私はType()を使って型の判定をしていた。
しかし、これは古いやり方らしい。

今は、isinstance()を使うようだ。
この場合、モジュールをインポートしなくていいみたい。

また、文字の判別のとき、str,unicodeと何種類かの型がある。
従来は、orで判定が必要だったが、isinstanceでは、
isinstance(b,basestring)で判定が出来る。

>>> a=’abc’
>>> b=[1,2]

>>> type(a)
<type ‘str’>

>>> type(b)
<type ‘list’>

>>> isinstance(a,str)
True
>>> isinstance(b,str)
False
>>> isinstance(b,list)
True

>>> c=u’def’
>>> isinstance(c,str)
False

>>> isinstance(c,unicode)
True

>>> isinstance(c,basestring)
True

Blogged with the Flock Browser

Written by ngi644

6月 27th, 2008 at 3:04 pm

Posted in Python

plone.app.blobを使ってみた。

without comments

以前にplone.app.blobのことを書いてそのままでした。やっと、利用してみました。

Plone3.1.2でplone.app.blobを使ってみました。サイトの説明されているものを試してみました。
その場合、ATFileをマイグレーションして、ATFileで保存したファイルはファイルシステムに保存されます。
これは、使えそうです。
まずは、buildout(上記リンクのInstlation参考)でセットアップして、そのセットアップされたものを参考にすれば、自分オリジナルのコンテンツにも活用できるようになりそうです。

ZEOのセットアップ例も掲載されています。

blobによって、Data.fsが大きくなるのを軽減することができるでしょう。

Blogged with the Flock Browser

Written by ngi644

6月 26th, 2008 at 6:44 pm

Posted in Python,Zope/Plone

zpublisherのエンコード

without comments

全角―等の文字がデータ内にある時、出力文字コードをshift_jisに指定した場合、エラーとなりました。

これを回避するには、以下のサイトが参考になるかも。

http://inside.ascade.co.jp/node/44

まずは、文字集合にある文字列に置き換えてから、zpublisherに渡るようにする必要があるようです。

Blogged with the Flock Browser

Written by ngi644

6月 25th, 2008 at 7:31 pm

Posted in Python,Zope/Plone

型の判定

without comments

Pythonはとあるオブジェクト型と同じ型の新しいオブジェクトをtype()関数で取得できる。

このオブジェクトの型はなんだろう?と言ったとき、この関数を使うといいのかな?

たとえば、aにリスト型の値を入力する。
>>> a=['a','b']

type()関数でaを見てみる
>>> type(a)

リスト型だとわかる。
<type ‘list’>

では、このaの型が何か知りたいとき、
以下にするといいらしい。
まず、モジュールをインポートする。

>>> from types import *

aがint型か調べてみる。
>>> type(a) is IntType

違うようだ。
False

では、リスト型か調べる。
>>> type(a) is ListType

リスト型とわかった。
True

以上のようにすることで型の判定ができた。

 

Written by ngi644

6月 15th, 2008 at 10:47 am

Posted in Python,Zope/Plone

開発合宿に行きました。

without comments

土曜日に日帰りですが、深谷へ開発合宿に行ってきました。

今回は、Pythonを使って、Bluetooth機器と通信をするための学習をしました。

ライブラリとして、PyBluezを使いました。
付属のサンプルコードをお手本に学習を進めていきました。

機器の探索→接続→接続断までできました。

次は、ファイル転送をやってみたいと思います。

Written by ngi644

3月 10th, 2008 at 1:28 pm

Posted in bluetooth,Python,合宿

Plone3でBlobが使える

without comments

PythonのサイトにてZODBにまつわるものを探していたらこんなのを見つけました。

ZODB 3.8 blob support for Plone 3.x

plone.app.blob 1.0a2

おぼえがきでした。

週末にテストしてみよう。

Written by ngi644

2月 6th, 2008 at 8:51 pm

Posted in Python,Zope/Plone

Plone 3.0.1がリリースされました。

without comments

Plone3.0.1がリリースされました!

3.0リーリース後、ユーザーの方々が発見したいくつかの問題をクリアしたもののようです。

また、先日、お伝えしたLinguaPlone2.0Alphaは、この3.0.1以上のバージョンから対応と記述がありましたので、これで試すことが出来ます。

Written by ngi644

9月 13th, 2007 at 6:48 pm

Posted in Python,Zope/Plone

Python インストール

without comments

先日、iBookにMandriva 2005 Limited editionをインストールしたのでPythonをインストールしました。

標準では、2.4がインストールされていますが、より新しい2.4.2をインストールします。

Python.jpから2.4.2のソースをダウンロードします。

ついで、Python2.4.2をインストールするディレクトリを作成します。

cd /usr/local
mkdir python2.4.2
chmod 755 python2.4.2

インストールを開始します。

./configure –prefix=/usr/local/python2.4.2

make

make test

make install

インストールの終了です。バージョンの確認をします。

/usr/local/python2.4.2/bin/python -V

 

 

Written by ngi644

11月 7th, 2005 at 7:57 pm

Posted in Python

Python 、Zopeのバージョンアップ

without comments

PythonとZopeのバージョンをアップしました。

Pythonを2.4.2にして、Zopeを2.8.3にしました。

これで、Plone2.1がインストールできます。

 

Written by ngi644

10月 25th, 2005 at 12:36 am

Posted in Python,Zope/Plone

poファイルをmoファイルに変換する

without comments

Windowsでpoファイルを編集するときに注意することは、

  • エンコード設定をUTF-8にすること。
  • 改行コードをLFとすること。
  • poファイルをmoファイルに変換するには、msgfmt.pyを利用する。

    python msgfmt.py 変換ファイル名.po

    とすれば、スクリプトがmoファイルを生成してくれる。

    なお、このmsgfmt.pyファイルは、以下のパスに入っている。

    {Python_path}\Tools\i18n

     

    Written by ngi644

    9月 15th, 2005 at 9:20 am

    Posted in Python,Zope/Plone

    ArchGenXMLで独自のViewを作る

    without comments

    UML-tool & ArchGenXMLを使って、独自のコンテントタイプを作れることはわかった。しかし、標準のViewは、basicviewです。これは、ただ、プロパティ名:値を並べているだけなので見た目があまりよくないです。
    View画面を独自デザインで見やすく・リッチに見せたい時は、UML-toolでメソッドを利用します。独自Viewを作成したいクラスでメソッドを追
    加し、そのメソッドのステレオタイプに<<view>>を追加すればOKです。ArchGenXML
    が空のページテンプレートを作成します(メソッド名.ptファイルがskin folder
    内にできます)。後は、このページテンプレートファイルをTALをもちいて記述すれば独自のViewができます。
    本日は、このファイルが生成できるところまで確認しました。

    Written by ngi644

    3月 13th, 2005 at 6:44 am

    Posted in Python,Zope/Plone

    ArchGenXML

    without comments

    ArchGenXMLは、XMIでエクスポートしたUMLのクラスをArcheTypesベースのプロダクト(本当にベース部分です)へ変換を行うPythonプログラムです。

    先日、plone.jpの研究会に参加した際、知ることができました。実際、使ってみたところ、初心者にとって、ArcheTypesのことを知るにはとっても便利なツールと思いました。plone研究会でも話しに出ていましたが、Filemakerでカードを作るイメージです。

     

    Written by ngi644

    2月 26th, 2005 at 8:52 am

    Posted in Python,Zope/Plone