daemonfreaks.com

サイトメンテナンス

posted by jun-g at Thu, 12 Oct 2006 02:10 JST

旧日記ページをずっとInternal Server Errorが出る状態のまま放置してあったので、このBlogページへ誘導する静的HTMLを置くようにした。

結城さんのこの日記を参考にして、旧日記のRSSへアクセスしたらこのBlogのRSSにリダイレクトするようにした。

python2.5 on FreeBSD その2

posted by jun-g at Thu, 12 Oct 2006 01:24 JST

前回書いたコマンドをそのまま実行しても、途中で色々問題が出て全然アップグレードは完了していなかった。portsのMakefileを修正したり、リビルドしたりしてようやくアップグレード完了。

commentプラグイン

posted by jun-g at Thu, 12 Oct 2006 01:19 JST

commentsプラグインを導入しようとしたけど、メール送信部分が日本語を受け付けない仕組みになっていたので導入延期。修正して送信できるようになってから導入しようっと。

python2.5 on FreeBSD

posted by jun-g at Tue, 10 Oct 2006 01:44 JST

FreeBSD portsのpythonがようやく2.5になったみたい。「lang/python25」が新たに追加された模様。詳細はUPDATING参照。

2.4->2.5のアップグレードは、

cd /usr/ports/lang/python
portupgrade -R
pkgdb -uf
make upgrade-site-packages

で完了。

vimでpyblosxomのエントリを書いてアップロードするvimスクリプトをpythonで書いた

posted by jun-g at Mon, 09 Oct 2006 22:53 JST

pyblosxomは、テキストファイルにエントリを書いてFTPでサーバにアップロードする、という仕組みになっている。プラグインで拡張する事でMetaWeblogAPIを使ったり投稿画面を付けたりする事ができるみたいやけどまだ全然試せていなくて、エディタでエントリを書いてアップする、という作業がかなり面倒に感じていた。

そんな時、「pythonを使ってvimからGoogleカレンダーに予定を投げる (ueBLOG)」というエントリを読んで、ちょうどエディタはvimを使ってるし、「Pyblosxom用エントリファイルのFTP送信」を読んで「Emacs便利でいいなー」とか思ってたので、vimでエントリを書いてそのままアップロードできるスクリプトをpythonで書いてみた。

python << EOF

FTP_SERV = "your.ftp.server"
FTP_USER = "ftpuser"
FTP_PASS = "ftppasswd"
LOCAL_DIR = "/path/to/localdir"
REMOTE_DIR = "/path/to/remotedir"

import vim
import datetime
from os import path
from ftplib  import FTP

def createEntry():
    fileName = path.join(LOCAL_DIR, _createFileName())
    vim.command("new %s" % fileName)
    vim.command("set fileencoding=utf-8")
    cb = vim.current.buffer
    cb[0] = "title"
    cb.append("#tags hoge,fuga")
    cb.append("body")
    vim.command("w")

def uploadEntry():
    cb = vim.current.buffer
    if cb.name == None:
        fileName = _createFileName()
        fullName = path.join(LOCAL_DIR, fileName)
        vim.command("saveas %s" % fullName)
    else:
        fileName = path.basename(cb.name)
        fullName = cb.name
        vim.command("w")
    f = open("%s" % fullName, "r")
    ftp = FTP(FTP_SERV, FTP_USER, FTP_PASS)
    ftp.cwd(REMOTE_DIR)
    ftp.storlines("STOR %s" % fileName, f)
    ftp.close()
    f.close()

def _createFileName():
    return "%s.txt" % datetime.datetime.now().strftime("%Y%m%d%H%M")

EOF

これを.vimrcに書いといて、vim上で

:py createEntry()

とすると

title
#tags hoge,futa
body

という空のエントリを新規バッファを開きつつ「LOCAL_DIR」で指定したディレクトリ内に保存する。ファイル名は現在日時を「YYYYMMDDHHMI.txt」として自動生成。二行目の「#tags〜」はtagsプラグインを使っているので。

でもってエントリをつらつら書いたら、

:py uploadEntry()

でアップロード。僕はエントリのカテゴリ分けをしていないので、カテゴリ指定は無し。

vimは全然使いこなせてないので、おかしな事してるところがあるかもしれないけど、これだけでかなり便利になった。vimももっと勉強しないとな。

<<  Page 3 of 5  >>