嗯……写了个恶毒的脚本,用于让自己在必要的时候远离 N900 减少不恰当的时间浪费……
#!/bin/bash
if [ "$#" -eq 0 ]; then
T=600
else
((T="$1"*60))
fi
while [ $T -gt 0 ]; do
dbus-send --system --print-reply --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_open string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'3'
dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_tklock_mode_change string:"locked"
sleep 10
((T="$T"-10))
done
dbus-send --system --print-reply --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_close string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'0'
dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_tklock_mode_change string:"unlocked"
一个参数,休息几分钟。不传参数就是休息 10 分钟。
其实就是隔 10 秒锁手机锁键盘……也就是刚刚解开键盘输入解锁码就又锁上了。一直循环到超时再解开。
不会影响接电话。
越写越觉得自己好恶毒啊~古话怎么说来着~最毒妇人心=w=
--
2011年8月29日星期一
2011年8月25日星期四
"No newline at end of file"
用 shell 写了个按文件名排序生成 m3u 的脚本(写入部分的语句是echo "#EXTM3U" > "$m3ufile"; find "$dir" -iname "*.mp3" | sort >> "$m3ufile" ),后来发现不够用,用 python 重写,读取 id3 并进行多关键字排序,再写入文件(写入部分的语句是 f.write("\n".join(["#EXTM3U"]+[i[0] for i in musiclist])) )。同样的专辑生成的 m3u 文件应该是一样的,但是 wc -l 的结果却是 py 脚本生成的 m3u 行数比 sh 脚本生成的 m3u 行数少一行, ls -l 的结果是两者相差一个字节,可是 vim -d 却一点红色都没有,好奇怪。
google 了一下,用 diff 比较,果然有差别: python 生成的 m3u 在最后一行有一个提示"\ No newline at end of file
" 。顺藤摸瓜, blog.linux.org.tw/~jserv/archives/001933.html 里说到根据标准每一行结尾必须有换行符……于是把 python 里相关的语句改为 f.write("\n".join(["#EXTM3U"]+[i[0] for i in musiclist]+[""])) ,重新运行就正常了。
google 了一下,用 diff 比较,果然有差别: python 生成的 m3u 在最后一行有一个提示"\ No newline at end of file
" 。顺藤摸瓜, blog.linux.org.tw/~jserv/archives/001933.html 里说到根据标准每一行结尾必须有换行符……于是把 python 里相关的语句改为 f.write("\n".join(["#EXTM3U"]+[i[0] for i in musiclist]+[""])) ,重新运行就正常了。
--
Sent from my Nokia N900
纯良触手姬,不腐不折腾
2011年8月19日星期五
2011年8月13日星期六
2011年8月1日星期一
N72 日历四天一循环的终极解决方案
我的蛋疼是绝症……治不好的,我死心了。
前天早晨 N72 死机之后就疑似挂了,还好拔掉 sim 卡勉强能启动,备份之后昨天早晨格了机,因为就算正常的时候它开机也要半个小时——上次格机已经是三年之前。格完倒卡测试发现是那张三岁半的六合一狗卡挂了。幸好手边还有一张写好的,插上去一切 ok 。
这次 N72 重装之前,我的两千多条短信里有一半是当作闹钟用的 google 日历的短信提示 (http://gttnnn.blogspot.com/2009/01/google.html) 。 GooSync.com 的免费服务 (http://gttnnn.blogspot.com/2009/09/s60v2.html) 早已是明日黄花……我生怕把好不容易导入的绝版日程给弄丢了,这么久没敢重装也这也是原因之一(看吧,其实我真的是不折腾的人。)
不过这次真的是抓瞎了——本来打算在单位的 windows 电脑上安个诺基亚的 PC 套件和 outlook 同步,转念想起来手边没有数据线,而且单位电脑重装之后也还没安盗版的 M$ Office ,一直在拿 WPS 个人版凑数(其实这也是违反用户协议的……),只得另想办法。从 google 日历导出的 ics 文件和从 N900 里用 maecaltool 导出的 ics 文件 N72 都是不认的。 google 到 s60 可以导入 vcs 格式的日历。可是 vcs 哪里有呢?……似乎有软件是从 vcs 转 ics 的,可是没找到反过来的。找了一圈也没找到可以随便改一下就满足自己需求的 vcs 文件。整理 N72 里别的软件时瞥到 pys60 里有个 calender 模块,跑去看《 PyS60 Tutorial 》给了个 test_calender.py ,里面有现成的导出函数。自己建了个约会,标题是"下夜班",开始时间和结束时间都是2011年8月3日8:30,每天循环一次,从2011年8月1日循环到2060年8月3日,闹钟时间是2011年8月3日5:45,导出来的内容如下所示
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID:1
DESCRIPTION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E4=B8=8B=E5=A4=9C=E7=8F=AD
DTSTART:20110803T083000
DTEND:20110803T083000
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PRIVATE
DCREATED:20110801T000000
RRULE:D1 20600803T180000
AALARM;TYPE=X-EPOCSOUND:20110803T054500;;0;CalenAlarmSound
LAST-MODIFIED:20110801T065800
PRIORITY:0
STATUS:NEEDS ACTION
END:VEVENT
END:VCALENDAR
只要把 RRULE:D1 改成 RRULE:D4 就是四天一循环了。存成 .vcs 的文件从系统打开,导入, ok 。
--
前天早晨 N72 死机之后就疑似挂了,还好拔掉 sim 卡勉强能启动,备份之后昨天早晨格了机,因为就算正常的时候它开机也要半个小时——上次格机已经是三年之前。格完倒卡测试发现是那张三岁半的六合一狗卡挂了。幸好手边还有一张写好的,插上去一切 ok 。
这次 N72 重装之前,我的两千多条短信里有一半是当作闹钟用的 google 日历的短信提示 (http://gttnnn.blogspot.com/2009/01/google.html) 。 GooSync.com 的免费服务 (http://gttnnn.blogspot.com/2009/09/s60v2.html) 早已是明日黄花……我生怕把好不容易导入的绝版日程给弄丢了,这么久没敢重装也这也是原因之一(看吧,其实我真的是不折腾的人。)
不过这次真的是抓瞎了——本来打算在单位的 windows 电脑上安个诺基亚的 PC 套件和 outlook 同步,转念想起来手边没有数据线,而且单位电脑重装之后也还没安盗版的 M$ Office ,一直在拿 WPS 个人版凑数(其实这也是违反用户协议的……),只得另想办法。从 google 日历导出的 ics 文件和从 N900 里用 maecaltool 导出的 ics 文件 N72 都是不认的。 google 到 s60 可以导入 vcs 格式的日历。可是 vcs 哪里有呢?……似乎有软件是从 vcs 转 ics 的,可是没找到反过来的。找了一圈也没找到可以随便改一下就满足自己需求的 vcs 文件。整理 N72 里别的软件时瞥到 pys60 里有个 calender 模块,跑去看《 PyS60 Tutorial 》给了个 test_calender.py ,里面有现成的导出函数。自己建了个约会,标题是"下夜班",开始时间和结束时间都是2011年8月3日8:30,每天循环一次,从2011年8月1日循环到2060年8月3日,闹钟时间是2011年8月3日5:45,导出来的内容如下所示
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID:1
DESCRIPTION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E4=B8=8B=E5=A4=9C=E7=8F=AD
DTSTART:20110803T083000
DTEND:20110803T083000
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PRIVATE
DCREATED:20110801T000000
RRULE:D1 20600803T180000
AALARM;TYPE=X-EPOCSOUND:20110803T054500;;0;CalenAlarmSound
LAST-MODIFIED:20110801T065800
PRIORITY:0
STATUS:NEEDS ACTION
END:VEVENT
END:VCALENDAR
只要把 RRULE:D1 改成 RRULE:D4 就是四天一循环了。存成 .vcs 的文件从系统打开,导入, ok 。
--
订阅:
博文 (Atom)