DebianにPythonフレームワークraypheをインストールし、外部からアクセスする

以前、軽量なPythonのWebフレームワークrapheを試しました。
軽量Python web framework rayphe のインストールとHello World
軽量Python web framework rayphe テンプレート機能と値の受け渡し
軽量Python web framework rayphe Routingについて

Debianにインストールして、別な端末からアプリケーションを
参照できるようにして見ます。



インストール



基本的にWindowsの時と同じ手順です。
githubから最新版を取得し、setup.py installでインストールしています。


# cd /usr/local/src/
# wget http://github.com/yuin/raphe/tarball/master
# tar zxvf yuin-raphe-3924d3d.tar.gz
# cd yuin-raphe-3924d3d
# python setup.py install






動作確認



こんなサンプルを作成して動かします。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from raphe import *

@app.get("")
def index(c):
    return "hello world!"

app.run_simple(host='0.0.0.0', port=8000)



ミソはhost='0.0.0.0'を指定するところ。
これを指定していないと、外部からアクセスできません。


http://[サーバーIP]:8000/
このURLにアクセスすると、hello world!が表示されると思います。




eXistの検索結果を表示する



XMLDB eXist RSSデータをPythonで登録し、マッシュアップ
ここでは、検索結果をhtmlファイルに出力して終了にしました。
検索結果をrapheで表示するようにしてみます。
※といっても、コードをコピペしただけですが。


#!/usr/bin/env python
# -*- coding:utf-8 -*-

from raphe import *
import xmlrpclib

def get_exist():
    #接続するURL
    xmlrpc_url = 'http://admin:@localhost:8080/exist/xmlrpc'
    #xml-rpcサービスを作成
    srv = xmlrpclib.ServerProxy(xmlrpc_url)

    #xqueryを定義
    query = """<rss version="2.0">
<channel>
<title>RSSのマッシュアップ</title>
<description>複数のRSSをXQueryを使ってマッシュアップします</description>
{
for $c in /rss/channel/item
where fn:contains($c/title, 'XML')
order by $c/pubDate descending
return $c
}
</channel>
</rss>"""

    params = {'base-uri':'/rss/'}
    result_id = srv.executeQuery(query, params)

    params = {'stylesheet':'/rss/template.xsl'}
    data = srv.retrieve(result_id, 0, params)

    #検索結果を破棄
    srv.releaseQueryResult(result_id)
    
    #コード変換
    return unicode(str(data), 'utf-8')

@app.get("")
def index(c):
    return get_exist()

app.run_simple(host='0.0.0.0', port=8000)




http://[サーバーIP]:8000/にアクセスしてみると、こんな感じで表示されます。
03_01_20091114175305.png








関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ