PyFileServer

使ってみた。
落としてきてzip展開。入れるのは、ez setupがやってくれるので苦労はない。
依存するのはpyxmlだけなので環境整備も楽。
開発と動作確認はWindowsで行われているようなので、READMEやconfファイルなどに^Mが入りまくり。
サーバープログラムと、設定ファイルは自動で入らないので、自分でコピペ。
設定ファイルを適当にいじる。といってもあまりいじるところはない。
設定そのものはakaDAVに似ている感じ。
ユーザー認証のデフォルトはダイジェスト。めんどくさいので、テストではユーザー指定はしない。
ログレベルはうるさそうだけど、テストなので2.
変更は公開パスだけ。

verbose = 2
addrealm('share', '/share', '')

起動も簡単。
hostは設定しないとlocalhostでしかlistenしない。
portくらいは設定ファイルで設定しても良さそうなものだけど。

# python ext_wsgiutils_server.py --port=80 PyFileServer.conf --host=0.0.0.0

しかし、Web共有(つまり'Microsoft Data Access Internet Publishing Provider Protocol Discovery')からはうまく接続できない。
NetDrive(つまり'Microsoft Data Access Internet Publishing Provider DAV')ではとりあえず見えるが、以下のエラーでまくりで書けない。

DBInvalidArgError: (22, 'Invalid argument -- architecture lacks fast mutexes: applications cannot be threaded')
Exception exceptions.AttributeError: "DbfilenameShelf instance has no attribute 'writeback'" in ignored

どこかにログを吐くというわけでもなく、起動コンソールにタレ流すだけ。
あとは、rootで起動しないと"socket.error: (13, 'Permission denied')"で死んでしまう。
まずは、とほほだな。


案外便利そうなのに使われていないわけがわかったような。Windowsだと動いているみたいだけど。
ぐーぐるの夏の宿題なんて、この程度なのか。
それとも何かこっちで間違っているのか。