Skip to content

Instantly share code, notes, and snippets.

View feifangit's full-sized avatar

Fan Fei feifangit

  • PANW
  • Santa Clara , CA
View GitHub Profile
@feifangit
feifangit / comp.py
Created March 28, 2013 21:30
flask vs nginx, test code
import time
import sys
import MultipartPostHandler, urllib2, cookielib
import threading
st = 0
def test(url):
# cookies = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(),
@feifangit
feifangit / t.py
Created March 28, 2013 21:33
flask vs Nginx upload, server code
import sys
import os
import traceback
import hashlib
from flask import Flask, request, redirect, jsonify, abort
app = Flask(__name__)
_HERE = os.path.dirname(os.path.abspath(__file__))
@feifangit
feifangit / upload
Created March 28, 2013 21:35
flask vs Nginx upload, nginx setting
upstream frontends {
server 127.0.0.1:8222;
}
server {
listen 8666;
# Allow file uploads max 50M for example
client_max_body_size 50M;
upload_buffer_size 16M;
@feifangit
feifangit / package_parser.py
Created April 26, 2013 08:31
get free space
def get_free_space(folder):
""" Return folder/drive free space
"""
if platform.system() == 'Windows':
free_bytes = ctypes.c_ulonglong(0)
ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder), None, None, ctypes.pointer(free_bytes))
return free_bytes.value
else:
st = os.statvfs(folder)
return st.f_bavail * st.f_frsize
@feifangit
feifangit / loggingfilters.py
Last active December 19, 2015 14:19
skip exception because of ALLOWED_HOSTS setting
### in a seperated file define the function
from django.core.exceptions import SuspiciousOperation
def skip_suspicious_exception(record):
if record.exc_info:
exc_type, exc_value = record.exc_info[:2]
if isinstance(exc_value, SuspiciousOperation):
return False
return True
### in settings.py ###
import copy
a = set([hashabledict({1:11}), hashabledict({2:22})])
b = set([hashabledict({1:11}), hashabledict({3:33})])
for i in range(3):
print "set a:", a
delta = a-b
print "delta", delta
for item in copy.deepcopy(delta):
print id(item)
item[1] = "xx"
a = set([hashabledict({1:11}), hashabledict({2:22})])
b = set([hashabledict({1:11}), hashabledict({3:33})])
for i in range(3):
print "set a:", a
delta = a-b
print "delta", delta, id(delta)
for item in delta:
print id(item) #always same
item[1] = "xx"
print "*"*10
a = set([hashabledict({1:11}), hashabledict({2:22})])
b = set([hashabledict({1:11}), hashabledict({3:33})])
for i in range(3):
print "set a:", a, id(a)
copyofa = set(a)
print "shallow copy ofset a:", copyofa, id(copyofa)
delta = copyofa-b
print "delta", delta
for item in delta:
print id(item)
@feifangit
feifangit / hw52.js
Created October 8, 2013 06:39
MongoDB university M101P hw5.2
db.pop.aggregate([
{$group:{_id:{state:"$state",city:"$city"}, allpop:{$sum:"$pop"}}},
{$match:{allpop:{$gt:25000},"_id.state":{$in:["CA","NY"]}}},
{$group:{_id:null, avgpop:{$avg:"$allpop"}}}
]
)
@feifangit
feifangit / hw51.js
Created October 8, 2013 07:38
MongoDB university HW5.1
db.posts.aggregate([
{$project:{comments:1, author:1}},
{$unwind:"$comments"},
{$group:{_id:"$comments.author",commentnum:{$sum:1}}},
{$sort:{commentnum:-1}},
{$limit:2}
]);