Skip to content

Instantly share code, notes, and snippets.

@serian
serian / ldrquote.user.js
Created April 18, 2010 08:07
firefox,ldr,userChrome.js,userContent.js
// ==UserScript==
// @name ldrquote
// @description firefox、ldrで閲覧中の記事の選択範囲を、記事URLなどとともにクリップボードにコピーする。"q"で実行
// @version 0.1
// @include http://reader.livedoor.com/reader/
// @privilege true
// ==/UserScript==
//firefox,userChrome.js,userContent.jsでのみ動作確認
//ほんとはuserMenuでコンテキストメニューからやりたい。
;Gauche
;システムの一時ディレクトリにファイルを上書きコピー
;キーワード引き数は小文字で
(use file.util)
(define src-file-name "cptmp.scm")
(define src-dir "/d/home/serian")
(define tmp-file (build-path (temporary-directory) src-file-name))
@serian
serian / get-cookie.scm
Created April 28, 2010 15:11
gauche ファイル削除
@serian
serian / get-header.scm
Created April 29, 2010 11:51
gauche http レスポンスヘッダ
;Gacuhe
;httpのレスポンスヘッダから任意のヘッダを文字列としてぬきだす
;ここでは一つだけあるset-cookieヘッダ。
(use rfc.http)
(use text.tree)
(receive (status header body)
(http-get svr req-uri)
(tree->string (car (string-split (tree->string (cdr (assoc "set-cookie" header))) ";"))))
@serian
serian / readmt.scm
Created May 1, 2010 15:26
scheme list truncate
;リストを指定された長さに切り詰める
;scheme
(define (list-truncate lst num)
(cond ((<= (length lst) num) lst)
(else
(let ((dummy (make-list num)))
(map (lambda (pre post)
pre)
lst dummy)))))
@serian
serian / readmt.scm
Created May 1, 2010 15:35
scheme gauche string
;文字列を最初に現れたデリミタ文字で2分割したリストを返す
;両端の空白は切り捨てられる。
;in
;str:文字列
;deli:文字(not文字列)
;ret:list
(use srfi-13)
(define (string-split2 str deli)
(let ((pos (string-index str deli)))
(list (string-trim-both (substring str 0 pos))
@serian
serian / tgz.py
Created February 2, 2011 09:38
python xml xpath
from lxml import etree
tree = etree.parse(file_path)
date_str =tree.xpath('//first_retrieve/text()')[0]
@serian
serian / tagcloud.py
Created February 2, 2011 17:25
python db sqlite3
csr = self.conn.cursor()
csr.execute(SQL_GET_TAG)
tags = {}
for tag in csr:
one = tag[0]
if not one in tags:
tags[one] = 1
else:
tags[one] += 1
@serian
serian / tgz.py
Created February 2, 2011 17:35
python tar.gz
import tarfile
tgzfile = tarfile.open(tgz_name,'w:gz')
cp_dir = os.path.join(tgt_dir, cp_dir_name)
if not os.exists(cp_dir):
os.mkdir(cp_dir)
for k, v in sorted(tgt_xml_dct.items(), key=lambda x:x[1]):
tgzfile.add(k, os.path.join(cp_dir_name, os.path.basename(k)))
shutil.copy(k, cp_dir)
@serian
serian / test_suit_sample.py
Created February 2, 2011 18:07
python unittest
suite = unittest.TestSuite()
suite_a= unittest.TestLoader().loadTestsFromTestCase(SomeClassATest)
suite_b = unittest.TestLoader().loadTestsFromTestCase(SomeClassBTest)
suite.addTest(suite_a)
suite.addTest(suite_b)
unittest.TextTestRunner().run(suite)