/etc/mercurial/hgrc.d/hgext.rc 這個檔怪里怪氣的,看 /usr/share/doc/mercurial/README.Debian 的日期,說是過時太久了也不一定。

這個奇怪的 hgext.rc 會載入一些在 lenny (current testing of Debian) 的 mercurial 0.9.4 裡沒有包的 extension。像是 hgext/churn。結果會讓 mercurial 在執行的時候跑出來一些煩人的警告訊息。幸好無害。

不過,它的有害影響是讓 hg view (hgk) 無法動作。這就讓人困擾了。為了正確在 Debian 上啟動 hgk,我用 export HGRCPATH="$HOME/.hgrc" 來使 mercurial 不要去讀取系統裡的 mercurial 設定檔 (就是那個奇怪的設定檔)。

當然,不要忘了 apt-get install tk8.4,不然沒有 wish,hgk 也不會啟動喔。

Posted by yungyuc at 22:33, 1 comments, 0 trackback.
tag on Exif PIL Python

在 Python 下讀 Exif 有好些種方法,我慣用的 PIL 也有一些未公開的方法可以支援:

#-*- coding: UTF-8 -*-

from glob import glob

import Image
from ExifTags import TAGS

files = glob(u"*.JPG")
im = Image.open(files[0])
rawexif = im._getexif()
exif = dict([(TAGS.get(k,0), rawexif[k]) for k in rawexif])
for k in sorted(exif.keys()):
    print k, exif[k]

不過不知道怎麼用 PIL 儲存修改過的 Exif。jpeg.py 可以儲存 exif,不過現在抓不下來。算了,我還不想自己刻。

Posted by yungyuc at 13:49, 0 comment, 0 trackback.

Steno 就是 yobot。今天我把 Feedjack 掛進 Steno,讓 Steno 可以從 Feedjack 的資料庫裡挖 feed 出來,貼到 IRC 頻道上去。

然後,用 twisted.internet.task.LoopingCall 來定時檢查 Feedjack 資料庫。完成收工,謝謝觀賞。

最近各位有空的話,請儘量狂操 yobot。丟 URL 給她抓、和她聊天,或是拼命寫 Blog 給她 report to channel (Planet@Python.tw 諸君,加油!)

Posted by yungyuc at 23:25, 0 comment, 0 trackback.
$ apt-get install zlib1g-dev libbz2-dev \
 libdb4.4-dev libncursesw5-dev libreadline5-dev \
 libsqlite3-dev libssl-dev

忘記的話會很煩,一直重編。

Posted by yungyuc at 15:24, 3 comments, 0 trackback.

in my dream.

However anyway, I can use this one-liner to accomplish the most frequently used action with wget and curl:

python -c "url='http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-4.0.tar.gz'; import urllib; open(url.split('/')[-1], 'wb').write(urllib.urlopen(url).read())"

Just replace the url string as you wish.

Update:

This could be a better version:

python -c "import urllib, sys; open(sys.argv[1].split('/')[-1],'wb').write(urllib.urlopen(sys.argv[1]).read())" http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-4.0.tar.gz
Posted by yungyuc at 14:43, 0 comment, 0 trackback.

把本站的 fastcgi driving script 改成:

#!/your/path/to/python

import sys, os
from datetime import datetime
import traceback

try:
    sys.path.insert(0,'/your/path/to/python/package')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'yoursite.settings'
    from django.core.servers.fastcgi import runfastcgi
    runfastcgi(method="prefork", daemonize="false",
            maxrequests=100,
            maxspare=2, minspare=1, maxchildren=5)
except Exception, e:
    logpath = "/your/path/to/traceback.log"
    if os.path.isfile(logpath):
        f = open(logpath, 'a')
    else:
        f = open(logpath, 'w')
    f.write("logged at %s :\n"%datetime.now())
    traceback.print_exc(file=f)
    f.write("log end.\n\n")
    f.close()

# vim: set ft=python ai et nu sw=4 ts=4 tw=79:

看看會不會也有幫助。如果 maxrequests=100 有用的話,crontab 就可以丟掉了。

Posted by yungyuc at 17:53, 0 comment, 0 trackback.
*/20 * * * * killall bad.fcgi

10 隻小孩還嫌少?只給你二十分鐘好活!

近來訪客可能經常看到本站的 500 錯誤畫面,這都是我寫的程式不乖。本人已經縮短 application server 的生命,如果還看到 500,還請向本人舉報。謝謝大家。

Posted by yungyuc at 14:39, 0 comment, 0 trackback.
Change to page (10 entries in each page): 1
© hover year to navigate month: powered by django