2009-01-01から1年間の記事一覧
from urllib2 import * class MyHttpHandler(HTTPErrorProcessor): #parent = OpenerDirector() handler_order = 1 def http_request(self, request): return request https_request = http_request def default_open(self, request): """return None for pr…
CSSだけじゃ無理。html とか ajax とか js とかのサンプル載せてるサイトはどうしてサンプルに余計な装飾付けんだろうか。分かりにくいだけだのに。 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="text/css"> #popup1 { display: none;…</head></html>
multiprocessing.Pool() *1 を使って、「JPEG ファイルのサムネイル生成」というタスクを適当に書いたら 4 コアで 2.1 倍くらいの速さになった。2 コアだと 1.7 倍… 多分 IPC かディスク IO がボトルネック。 適当に書いて 2 倍も速いと取るか、4 コアもある…
未だに classic class なライブラリは多い。Python 3 への道は遠い… # register a pickle handler for Image.Image object import Image, copy_reg def Image_unpickler(mode, size, data): return Image.fromstring(mode, size, data).im def Image_pickler…
DNS の設定よく分からんというか UNIX 系の設定はやった端から忘れてく。 cname じゃなくて a で指定する。dns をきちんと実装してないのメールサーバーがあるんじゃないの。 小文字で書く。そもそも Google の例が大文字なのがよく分からん。 SPF の設定は…
KeyPress ハンドラ設定してもセルに入力したらハンドラ設定が消される。もうやだこの tk。 import Tix as tk r= tk.Tk() r.title("test") g = tk.Grid(r, name="a_grid", selectunit="cell", editnotify=lambda x, y: True) g.pack(fill=tk.BOTH) for x in x…
tk はよく分からん。凝ったことはしない方がいいみたい。 from Tkinter import * class Application(Frame): def __init__(self, master=None, cnf={}, **kw): Frame.__init__(self, master, cnf, **kw) self.pack() def pack(self, cnf={}, **kw): Frame.pa…
なんだよこれ便利じゃん savecred。 パスワード聞かれるの最初だけだし保存はユーザー毎だし。 root の名前固定だけどどうでもいいよね。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\exefile\shell\sudo] [HKEY_CLASSES_ROOT\exefile\shell\s…
"""Helper functions for Image object.""" from ctypes import * from ctypes.wintypes import * gdi = windll.gdi32 def todib(image): """Image.tostring('raw', rawmode, stride=0, ystep=1) "rawmode" is a pixel format. (ex. RGB, GBR...) "stride" i…
上を踏まえて HBITMAP に変換。 色々決め打ちだけど GDI なんてレガシーはこれでいいんだ。 ああメンドクサイ。 import ImageDib ImageDib.tohbitmap(image) ImageWin? 動かんかった…
CreateDIBSection() で作った DIB にコピーできるようなバイト列に変換。 tostring() のまともな __doc__ は [Image-SIG] Re: Explaination of encoder in tostring(encoder_name='raw', *args) くらいしかない。後はソース見ないと分からん。一発で変換でき…
setupapi 使ってたら x64 版 Windows で ERROR_IN_WOW64 (0xe0000235) と言われた。Windows の仕様で 32 bit / 64 bit 間では両方向でコードの呼び出しはできない。それはいい。ホントは良くないけどイケてない Windows プログラミングの歴史に一項目加わっ…
def save_type(self, obj, name=None): """add support for pickling a dynamic type >>> class A(object): pass >>> class B(object): pass >>> t = type('DynamicType', (A, B, ), {'a': 1, 'b': 2, }) >>> t2 = loads(dumps(t)) >>> t.__name__ == t2.__n…
Firebird の SQL リファレンスは調べにくい。 InterBase 6.0 SQL Reference に Firebird Reference Material の Language Reference Update を重ねて読んでいくことになる。
可変引数的な使い方をしたくて作った。 SQL は単体で動かす分にはいいけど(それだけで使い物になるわけ無いが)、プログラミング言語から叩くと途端に泥臭くなるから困る。 長さ? 可変長文字列型くらい用意しとけよ今時… SET TERM !! ; CREATE PROCEDURE str_…
easy_install で site-packages じゃないところにインストールしたい。 cd <任意のディレクトリ> python -m easy_install -a -d . -S . -s <bin> setuptoolsとかまず cwd を任意のディレクトリにしておくことで sys.path に入るようにする。 そんで -a でコピー指</bin>…
setuptools はきたねえコードだなあ x64 とか対応してんのか? --- package_index.py.orig Wed Sep 24 12:10:36 2008 +++ package_index.py Tue Jul 07 10:13:17 2009 @@ -27,17 +27,24 @@ def parse_bdist_wininst(name): """Return (base,pyversion) or (No…
setuptools はひでえコードだった #import distutils.log; distutils.log.set_verbosity(2) from setuptools.package_index import PackageIndex class PackageIndex(PackageIndex): def can_add(self, dist): """deny local installed packages""" if os.pa…
結論 できる。でもややこしくなるだけなので、素直に msvcrt9 をインストールした方がいい。 ああめんどくさい。 条件 Windows XP Python 2.6.2 やり方 Python26.dll にリンクした実行ファイルの .manifest を書く hoge.exe.manifest として hoge.exe と同じ…
流れはこんな感じだった。 BOM チェックで Unicode を判別 chardet などでエンコーディングを推定 UTF/MBCS ならデコード試行 ユーザーロケールのエンコーディングでデコード試行 chardet などでエンコーディングを推定 非 UTF/MBCS ならデコード試行 結果が…
このくらいしかできない悪寒。site.py (sitecustomize.py) では sys.argv がないので判別できない。 import multiprocessing assert multiprocessing.current_process().name != 'MainProcess'
kinterbasdb.connect(host='host or ip/3051', database=r'C:\some\database.db', user='SYSDBA', password='masterkey') どこに書いてあんだよコレ どこにも書いてねーぞ
今すぐに Firebug を disable にしろ
まあヘルプ読めば大体載ってることですが。 #define ディレクティブを使う ISTool をインストールする。 QuickStart Pack を使って InnoSetup と一緒にインストールしてしまうと楽。 #define VERSION "1.0" AppVersion={#VERSION} Name: "{#VERSION}" {} の…
おもむろに comtypes を取り出す from comtypes.client import CreateObject CLSID を調べる from comtypes import * CLSID_Sti = GUID('{B323F8E0-2E68-11D0-90EA-00AA0060F86C}') Interface を作成する *.idl がある midl で *.tlb に変換する *.tlb があ…
2009-06-10 親プロセスが死んでる場合に対応 from ctypes import * from ctypes.wintypes import * import win32process class PROCESSENTRY32(Structure): _fields_ = ( ('dwSize', DWORD, ), ('cntUsage', DWORD, ), ('th32ProcessID', DWORD, ), ('th32De…
#hack.py import __builtin__ __builtin__._open = open __builtin__.open = '__builtin__' としておいて、 >>> open <built-in function open> >>> import hack >>> open '__builtin__' >>> eval('open', {'open': 'globals'}, {'open': 'locals'}) 'locals' >>> eval('open', {'ope</built-in>…
セットアップ用のパッケージ python-X.X.X.msi を使わないで使う際の注意。結構面倒くさい。 Python 2.6 SxS の関係上、Microsoft Visual C++ 2008 Redistributable Package をインストールする必要がある。 必要なバイナリは python26.dll のみ。 sys.path …
#include <Python.h> typedef struct { PyObject_HEAD /* Type-specific fields go here. */ } MyStdout; static PyObject *MyStdout_write(MyStdout* self, PyObject *args) { char *data = PyString_AsString(args); if (data){ printf("%s", data); } Py_RETURN_NON</python.h>…