summer update

This commit is contained in:
bendtherules
2014-07-07 18:18:56 -07:00
parent d1f4cc61cc
commit 0cf8b29572
58 changed files with 9282 additions and 766 deletions
+38
View File
@@ -0,0 +1,38 @@
from functools import partial
import inspect
class meta(type):
def __new__(cls, name, base, clsdict):
temp_cls = type.__new__(cls, name, base, clsdict)
methods=inspect.getmembers(temp_cls,inspect.ismethod)
print methods
print "inspecting.."
for tmp in methods:
method=tmp[1]
tmp_spec=inspect.getargspec(method)
if "main_func" in tmp_spec.args:
main_func=tmp_spec.defaults[1]
tmp_spec.defaults[0]()
main_func(50)
f=method.im_func
print f
f.func_code,f.func_defaults,f.func_dict,f.func_doc,f.func_name=main_func.func_code, main_func.func_defaults,main_func.func_dict,main_func.func_doc,main_func.func_name
return temp_cls
def doit(what_to_do, main_func):
def asd(what_to_do=what_to_do,main_func=main_func):
pass
return asd
def pr5():
print 5
do_pr5=partial(doit,pr5)
class A(object):
__metaclass__=meta
a=[]
@do_pr5
def abc(self,a=5):
''' hello'''
print a+1