Skip to content

Instantly share code, notes, and snippets.

@ladder1984
ladder1984 / django-request-urlpattern
Created February 21, 2019 11:50
Get urlpattern from django request. Django 1.8.2
from compat import URLPattern, URLResolver
from django.core.urlresolvers import resolve, get_resolver
def find_url_pattern_by_name(name):
if name is None:
return None
def deep_find(rs):
for r in rs.url_patterns:
if isinstance(r, URLResolver):
result = deep_find(r)
@ladder1984
ladder1984 / url_add_params.py
Created June 15, 2016 10:42
url_add_params
import urllib
import urlparse
def url_add_params(url, **params):
pr = urlparse.urlparse(url)
query = dict(urlparse.parse_qsl(pr.query))
query.update(params)
prlist = list(pr)
prlist[4] = urllib.urlencode(query)
@ladder1984
ladder1984 / filter_invalid_str.py
Created January 22, 2016 07:09
过滤非BMP字符
def filter_invalid_str(text):
"""
过滤非BMP字符
"""
try:
# UCS-4
highpoints = re.compile(u'[\U00010000-\U0010ffff]')
except re.error:
# UCS-2
highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
@ladder1984
ladder1984 / unicode2Chinese.py
Last active January 10, 2016 08:34
unicode2Chinese
a = '\u4e2d\u6587'
print a.decode('unicode-escape')
@ladder1984
ladder1984 / git_shell
Created December 21, 2015 09:42
python执行git命令并得到结果
def git_shell(git_command):
try:
return os.popen(git_command).read().strip()
except:
return None
@ladder1984
ladder1984 / copytree_override
Created December 21, 2015 09:40
修改自标准库的copytree,可覆盖文件
# -*- coding: utf-8 -*-
# 修改自标准库的copytree,可覆盖文件
import os
import shutil
def copytree_override(src, dst, symlinks=False, ignore=None):
names = os.listdir(src)
if ignore is not None:
ignored_names = ignore(src, names)
else:
@ladder1984
ladder1984 / clean_bom
Created December 21, 2015 09:37
清除Windows记事本自动添加的BOM
# -*- coding: utf-8 -*-
# 清除Windows记事本自动添加的BOM
def clean_bom(file_name):
with open(file_name, 'r+') as f:
content = f.read()
content = re.sub(r"\xfe\xff", "", content)
content = re.sub(r"\xff\xfe", "", content)
content = re.sub(r"\xef\xbb\xbf", "", content)
f.seek(0)
@ladder1984
ladder1984 / login_jingdong.py
Last active November 29, 2018 02:35
自动登录京东网,基于requests、pyquery。
# -*- coding: utf-8 -*-
import requests
from pyquery import PyQuery as pq
login_url = "https://passport.jd.com/new/login.aspx"
login_post_url = "http://passport.jd.com/uc/loginService"
# 用户名和密码
username = "your_name"
password = "your_password"