Skip to content

Instantly share code, notes, and snippets.

@ifduyue
ifduyue / gist:1183166
Created August 31, 2011 09:29
httplib example: publish a fanfou status
def setcookie2cookie(setcookie):
cookies = setcookie.split("\n")
result = []
for ck in cookies:
frags = ck.split(";")
i = frags[0].index("=")
name = frags[0][:i]
value = frags[0][i+1:]
#name = name.replace("+", " ")
if name.strip():
@ifduyue
ifduyue / gist:1376898
Created November 18, 2011 16:11
mb_code.py
def mb_code(string, coding="utf-8"):
if isinstance(string, unicode):
return string.encode(coding)
for c in ('utf-8', 'gb2312', 'gbk', 'gb18030', 'big5'):
try:
return string.decode(c).encode(coding)
except: pass
return string
@ifduyue
ifduyue / benchmark.py
Created December 12, 2011 07:40
benchmark pylru, lrucache, lru
import lru
import lrucache
import pylru
import random
import sys
size = int(sys.argv[1])
data = []
range_ = int(sys.argv[2])
for i in xrange(int(sys.argv[3])):
@ifduyue
ifduyue / httpsqs.py
Created December 14, 2011 04:04
httpsqs python client
#coding: utf8
import urllib
class HTTPSQS:
def __init__(self, host='127.0.0.1', port=1218, charset=None):
self.host = host
self.port = port
self.charset = charset
@ifduyue
ifduyue / bash script
Created December 18, 2011 05:46
shurl_shorten
$ cat ~/bin/shurl
#!/bin/bash
curl -i http://shurl.im/ -F "url=$1" -s | grep Location | awk '{print $2}'
$ shurl http://lyxint.com/
http://shurl.im/1
@ifduyue
ifduyue / lib.py
Created December 18, 2011 12:51
some convenient functions
#coding: utf8
from __future__ import with_statement, absolute_import
import os
import re
import sys
import signal
import string
import random
import timeit
def f1(list):
string = ""
for item in list:
string = string + chr(item)
return string
def f2(list):
return reduce(lambda string, item: string + chr(item), list, "")
@ifduyue
ifduyue / p_in_html.py
Created January 11, 2012 15:04
content between <p> and </p>
def txt_wrap_by(begin, end, html):
if not html:
return ''
start = html.find(begin)
if start >= 0:
start += len(begin)
end = html.find(end, start)
if end >= 0:
return html[start:end].strip()
@ifduyue
ifduyue / strip_tags.cpp
Created January 13, 2012 02:37
c++ strip_tags replace_all
string &replace_all(string &content, const string &from, const string &to)
{
size_t i = 0;
size_t j;
while((j = content.find(from, i)) != string::npos) {
content.replace(j, from.size(), to);
i = j + to.size();
}
return content;
}
@ifduyue
ifduyue / clone_all_github_repos.py
Last active September 30, 2015 08:28
clone_all_github_repos
#!/bin/env python
#-*- coding: utf-8 -*-
import sys
import os
from urlfetch import get
user = sys.argv[1]
r = get('https://api.github.com/users/%s/repos' % user)