/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 也不會啟動喔。
在 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
忘記的話會很煩,一直重編。
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.
每次都要來這麼一下。
不過,今次是本人首次獲得昇等優遇,特別紀念 :)
Posted by yungyuc
at
09:54,
0 comment,
0 trackback.
bazaar-ng 有寫個 bzr.bat 給 Windows (NT) 使用者,不過 mercurial 沒附 hg.bat,請自己寫一個:
@C:\Python25\python.exe C:\Python25\Scripts\hg %*
剛剛用比較客觀的角度說明在縮排 Python 程式時會遇到的問題,以及我們應該注意的地方。
不過,其實我還是有主觀的看法。我覺得,照我的習慣,Python 的縮排簡單得很,用不著考慮那麼多了。那就是,固定用四個空白字元進行縮排。
» continue reading
Posted by yungyuc
at
17:53,
0 comment,
0 trackback.