サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
c-yan2.hatenablog.jp
pexpect.py だけ持ち込めば使える pexpect はとても便利. python でごりごりコードが書ける分だけ expect よりも便利! デプロイ、ログ収集と大活躍. 以下、ssh でログインして uname -r の結果だけを拾ってくる例. from sys import stdout, stderr from getpass import getpass from pexpect import spawn, EOF host = raw_input("server: ") id = raw_input("id: ") pw = getpass("%s's password: " % id) c = spawn('ssh %s@%s' % (id, host)) #c.logfile = stderr i = c.expect_exact(['yes', 'assword:
なんか プロトタイプベースのオブジェクト指向みたいで楽しい. >>> def setism(object, name, method): # ism is instance-specific method ... from functools import partial ... setattr(object, name, partial(method, object)) ... >>> class C: pass ... >>> c = C() >>> c.name = 'hoge' >>> setism(c, 'mynameis', lambda self: 'My name is ' + self.name + '.') >>> c.mynameis() 'My name is hoge.'
日本語メールは ISO-2022-JP に限るの会編集(ぉ). 今見直すと変数名とか微妙なところがあるけどキニシナイ. #!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import smtplib smtpserver = 'localhost' fromaddr = 'svn-admin@hoge.local' toaddrs = 'svn-ml@hoge.local' svnlookcomm = 'LANG=ja_JP.UTF-8 /usr/local/bin/svnlook' def svnlook(verb, repos, rev): p = os.popen('%s %s %s -r %s' % (svnlookcomm, verb, repos, rev)) result = p.read()
WSGI アプリは iterable を返すという規約が面白い. ジェネレータ関数で iterable が簡単に返せる Python ならではだなあ. #!/usr/bin/env python # -*- coding: utf-8 -*- def application(environ, start_response): status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return ('%s: %s\n' % (i, environ[i]) for i in environ) if __name__ == '__main__': from wsgiref.handlers import CGIHandler CGIH
Rails 2.0 に BASIC 認証モジュールが載るのが悔しい罠(笑). 以下のようなコードをコントローラに記述する. 見れば分かると思うけど、DB の users テーブルの password のカラムに sha1 で変換したパスワードが入っていることが前提. 念の為. private def authorize() user = nil if request.env.has_key?('HTTP_AUTHORIZATION') type, input = request.env['HTTP_AUTHORIZATION'].to_s.split if type == 'Basic' login_id, password = Base64.decode64(input).split(':') user = User.find(:first, :conditions => ["login
このページを最初にブックマークしてみませんか?
『c-yan2.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く