Introducing Lektor — A Static File Content Management System For Python | Armin Ronacher’s Thoughts and Writings

FlaskやWerkzeug、Jinjaで有名なArmin Ronacherがまた新しいプロダクトを公開した。スタティックファイルを使ったCMSみたい。

Introducing Lektor — A Static File Content Management System For Python | Armin Ronacher’s Thoughts and Writings

WordPressとかDjangoといったデータベースから動的にコンテンツを生成するシステムの複雑さが嫌になったって。他にもいろいろスタティックファイルを使ったCMSからはあるけど結局気に入らなくて自分で作ってしまったということらしい。

実は常々スタティックファイルの方がいいなあと思っているサイトがある。この人の作ったものは品質が高いしスタイルも好きだから、年が明けたら使ってみたい。使ってみたらまた感想を書いとこう。


年が明けてちょっと暇な時間にドキュメントを読んでみた。
いやあ、簡単に使ってみようって具合にはなかなかいかないぞ。
Jinja2は使ってるし、Flaskっぽい考え方がそこここにあって馴染みある感じなんだけど学ぶことのボリュームがかなりある。
ちゃんとやればいい感じでライフサイクルを管理できそうなのはよくわかった。さあどうしようか。

strftimeの%aで曜日を出力するのはやめた

localeを使ってみたりいろいろと試してみたけれど、無理にstrftimeの%aで曜日を漢字で出力するのは今ひとつだった。

ディストリビューションによって挙動が変わったり、OSのメジャーアップデートで文字化けしてみたり。それぞれに事情はいろいろあって、単にバグだったり、必要なパッケージが変わってたりと、まあ仕方ないかなあと思うことも少なくない。

ああでもないこうでもないと、忘れてしまっても問題ない方法を考えてみた。これでいいのだ。 続きを読む

Simple HTTP CheckerにTCPタイムアウト値を追加

Simple HTTP Checker – シンプルなHTTPサーバの監視ツールで公開しているツールですが、手元の環境では随分前にTCPタイムアウトの設定ができるように変更して運用しています。

ちょっと問い合わせをいただいて思い出したのでGist:343248に反映させました。なおタイムアウト値(設定変数名=tcp_timeout)は1未満にはできません。1以上の整数を指定してください。
続きを読む

Simple HTTP Checker – シンプルなHTTPサーバの監視ツール

WEBサイトの死活監視のサービスはいろいろあるけれど、どれも監視できるURL数に制限があったり、制限を解除してもらうには費用がかかるわけなのだけれど求める以上の機能があってちょっと高くついたり。なかなかピッタリこない。

仕方がない、さくらのレンタルサーバが1つあるのでそこで監視するようにしてみよう。社内のサーバ監視をしているNagiosは便利なんだけれど、さくらの500円/月のレンタルサーバに入れるのはちょっとアレだし、必要最小限のスクリプトをPythonで書くことにする。

求めた要件としては、

  • HTTPで接続できなかったらメールでお知らせが届く。
  • 一回メールを送ったら、しばらくはメールしないで欲しい。
  • HEADとGETとPOSTに対応。
  • HTTPステータスコードだけをチェックする(レスポンスに含まれるコンテンツのチェックは不要)。
  • 設定ファイルで複数のURLをまとめてチェックして欲しい。
  • (さくらなので)常駐するデーモンではなくて、単独のコマンドで実行できる(cronで繰り返し実行)。
  • お知らせメールはcrontabのMAILTOで送るからstderrに出力してくれればいい。
  • OKだったときのログはstdoutに出力してくれればいい。
  • スクリプトは1ファイルで完結させる。
  • Python2.4以降、標準ライブラリだけで動く。

続きを読む

Flickrから自分のアップロードした写真を全部ダウンロードする

ふと思い立ってやってみようとしたけれど、これが結構大変。一括してダウンロードする方法がFlickrの機能としては見当たらない。
誰か他の人の写真じゃなくて自分のアップロードした写真ぐらい、機能があってもよさそうだけれど。
検索してみると、いくつかソフトウエアがあって、2つ試してみたけれど、認証に失敗して先に進めないのがひとつと、そもそもインストールできないのがひとつ(.Net Frameworkを使うやつ)。
意地になってしまって、flickr.pyを使ったPythonスクリプトを書いてみた。
Pythonとflickr.pyがあれば使えます。ユーザID(ユーザ名じゃない)、API KeyとかSecretとか難しいのが必要。やっぱり、Flickr自身で実装しないと普通の人には難しいんじゃないか。

下のスクリプトをローカルに保存して、設定を3ヶ所書き換えて(ユーザID、API Key、API Secret)、flickr.pyを同じディレクトリにおいて、実行するとサブディレクトリを作成してその中にズンズンダウンロードします。
続きを読む

FeinCMSメモ#1

予定しているちっちゃなサイトに使えないかとFeinCMSを試してみている。
Django CMS 2と比較するとシンプルで始める為の敷居が低い。

一通りexampleにあるものが動くようになって、テンプレートをカスタマイズして見映えを変えてみたりして、これいいかも、という感じになってきたので、まずはexampleが動くためにやることをメモしておく。
ドキュメントのinstallの通りにやってもちゃんと動かないのよこれが。次のリリースぐらいで直りそうだけれど。
続きを読む