Skip to content

Instantly share code, notes, and snippets.

@janzhen
janzhen / .vimrc
Last active June 29, 2017 02:16
vimrc
" make sure vim-plug is installed, https://github.com/junegunn/vim-plug
call plug#begin()
Plug 'tpope/vim-sensible'
Plug 'morhetz/gruvbox'
Plug 'bling/vim-airline'
Plug 'w0rp/ale'
Plug 'scrooloose/nerdtree'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-surround'
Plug 'ctrlpvim/ctrlp.vim'
@janzhen
janzhen / jsonp.py
Created August 27, 2014 09:04
Flask jsonp decorator.
from functools import wraps
def jsonp(func):
"""Wraps JSONified output for JSONP requests."""
@wraps(func)
def decorated_function(*args, **kwargs):
from flask import request, current_app
import re
callback = request.args.get('callback', False)
@janzhen
janzhen / conv_enc.py
Last active August 29, 2015 14:05
convert encoding
import collections
def convert(data, charset, func):
from functools import partial
convert_charset_func = partial(convert, charset=charset, func=func)
if isinstance(data, basestring):
return getattr(data, func)(charset)
elif isinstance(data, collections.Mapping):
return type(data)(map(convert_charset_func, data.iteritems()))
@janzhen
janzhen / lock.py
Last active August 29, 2015 14:00
Distributing Lock
"""Distributing lock."""
from contextlib import contextmanager
SLEEP_SECONDS = .1
@contextmanager
def redis_lock(redis_client, key, timeout, expires):
"""Redis based lock."""
import time